[英]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.