显示数组类型的结构程序具有不完整的元素类

时间:2015-11-02 10:31:03

标签: c struct

我正在编写简单的数组程序。

#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);
}

显示错误为 错误:数组类型的元素类型不完整

我不知道我做错了什么

2 个答案:

答案 0 :(得分:3)

  1. C区分大小写。您将Student定义为struct,但在函数正文中使用student

  2. s1Student数组。要访问每个元素,您需要s1[index],然后是成员选择运算符.。这里index是0,1或2.

  3. 考虑使用const char*作为名称:这强调了您无法更改只读字符串文字的事实。

答案 1 :(得分:0)

s1是一个数组。

所以你应该做

printf("\nRoll Number of Student : %d",s1[0].i);
printf("\nName of Student        : %s",s1[0].name);