簡體   English   中英

嘗試初始化成員時出現Typedef結構錯誤

[英]Typedef struct errors when attempting to initialize member(s)

我知道下面的代碼不完整。 我正在調試它,無論我做什么,我都無法弄清楚為什么會出錯:在結構或聯合(第22行)中請求成員'gpa'。 我很肯定代碼中還有很多事情要做,還有更多的警告和錯誤,我還不擔心這些。 只是我從未遇到過的那個。

#define     _CRT_SECURE_NO_WARNINGS
#include    <stdio.h>
#include    <string.h>
#define     MAXNAME        11
#define     MAXSTUDENTS     9


typedef struct student
    {
        char    name[ MAXNAME ];
        double  gpa;
        char    grade;
    }student_t;

void    grade_students(student_t  *, int n);
void    print_students(student_t  *, int n);

int main()
{
    student_t   students[ MAXSTUDENTS ];
    int         n;
    students.gpa    =   n;
    FILE        *infilep;

    infilep = fopen("lab09.in", "r");

}

我想做的是使用typedef成員,但是當我嘗試遵循文本和類注釋中使用的格式時,出現錯誤。

變量students被聲明為student_t類型的元素數組

student_t   students[ MAXSTUDENTS ];

因此,要訪問數組的元素,您應使用下標運算符,例如

students[0].gpa    =   0.0;

另一個示例可以在函數print_students 盡管在函數中它只是一個指針,但是您可以對下標運算符使用相同的語法

void    print_students( const student_t  *students, int n )
{
    for ( int i = 0; i < n; i++ )
    {
        puts( students[i].name );
        //...
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM