int到结构成员不起作用

时间:2014-10-14 16:00:09

标签: c struct

typedef struct
{
    int row;
    int col;
    int max_gray;
    int **matrix;
} PGMData;

void readPGM(const char *file_name, PGMData *data)
{
    FILE *pgmFile;
    char version[3];
    int i, j, tmp;
    int lo, hi; 

    SkipComments(pgmFile);
    fscanf(pgmFile, "%d", &tmp);
    printf("d");

    data->col=tmp; // error here
    printf("d");

    SkipComments(pgmFile);
    fscanf(pgmFile, "%d", &tmp);
    data->row=tmp;
    SkipComments(pgmFile);
    fscanf(pgmFile, "%d", &tmp);
    data->max_gray=tmp;
    fgetc(pgmFile);    
}

您好。我尝试将int tmp分配给struct data的col,但是当我执行printf

时它无法显示
printf("%d",data->col);

我使用->代替.,但它说它不是结构。因为它是结构指针,所以我只能使用->

在代码中我写错误就在这里。它首先打印d但不能打印第二个d,程序关闭。错误是什么?

我把&到tmp但仍然是相同的。

0 个答案:

没有答案