我正在编写简单的数组程序。
#include<stdio.h>
struct Student
{
int i; //Stores address of integer Variable
char *name; //Stores address of Character String
};
int main()
{
struct student s1[] ={
{1,"srini"},
{2,"pankaj"},
{3,"rajini"}
};
printf("\nRoll Number of Student : %d",s1.i);
printf("\nName of Student : %s",s1.name[0]);
return(0);
}
显示错误为 错误:数组类型的元素类型不完整
我不知道我做错了什么
答案 0 :(得分:3)
C区分大小写。您将Student
定义为struct
,但在函数正文中使用student
。
s1
是Student
的数组。要访问每个元素,您需要s1[index]
,然后是成员选择运算符.
。这里index
是0,1或2.
考虑使用const char*
作为名称:这强调了您无法更改只读字符串文字的事实。
答案 1 :(得分:0)
s1
是一个数组。
所以你应该做
printf("\nRoll Number of Student : %d",s1[0].i);
printf("\nName of Student : %s",s1[0].name);