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

C 显示数组类型的结构程序具有不完整的元素类型,c,struct,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"},

我正在写一个简单的数组程序

#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);
}
#包括
体类型
{
int i;//存储整型变量的地址
char*name;//存储字符串的地址
};
int main()
{
结构学生s1[]={
{1,“srini”},
{2,“pankaj”},
{3,“拉吉尼”}
};
printf(“\n学生学号:%d”,s1.i);
printf(“\n学生姓名:%s”,s1.姓名[0]);
返回(0);
}
将错误显示为 错误:数组类型的元素类型不完整

我不知道我做错了什么

  • C区分大小写。将
    Student
    定义为
    struct
    ,然后在函数体中使用
    Student


  • s1
    Student
    s的数组。要访问每个元素,您需要
    s1[索引]
    ,然后是成员选择操作符
    。这里的
    索引是0、1或2

  • 考虑使用
    const char*
    作为名称:这强调了一个事实,即您无法更改只读字符串文本

  • C区分大小写。将
    Student
    定义为
    struct
    ,然后在函数体中使用
    Student


  • s1
    Student
    s的数组。要访问每个元素,您需要
    s1[索引]
    ,然后是成员选择操作符
    。这里的
    索引是0、1或2

  • 考虑使用
    const char*
    作为名称:这强调了一个事实,即您无法更改只读字符串文本


  • s1
    是一个数组

    所以你应该这么做

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

    s1
    是一个数组

    所以你应该这么做

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

    学生
    -大写与否?你可能想退房。
    学生
    -大写与否?你可能想退房。我犯了愚蠢的错误。谢谢我犯了错误。谢谢