0

我在 C 中有一个结构,最后有一些无法解码的声明

struct Student
{
   int roll;
   char name;
   int age;
};

extern struct Student dev[];

最后一条语句在C中是什么意思?

4

3 回答 3

4
extern struct Student dev[];

告诉编译器这dev是一个类型的数组,struct Student它是在其他地方定义的(其他翻译单元)。

于 2013-02-22T09:46:36.837 回答
2

这意味着dev[]没有在这个 C/object 文件中声明,而是在另一个文件中声明。您必须将该其他对象链接到您的二进制文件才能使用该变量。

于 2013-02-22T09:46:15.333 回答
0
        struct students
    {
    int num;
    char name[100];
    char dept[100];
   } extern struct students student[];

student[] 是结构体数组。它用于访问结构体成员,如 num、name、dept。

诠释 j=100;

             #include<stdio.h>

                   main(){

                  for(i=0;i<j;i++)
                         {
                               scanf("%d",&student[i].num);
                               scanf("%s",student[i].name);
                               scanf("%s",student[i].dept);
                           }


                        for(i=0;i<j;i++)
                            {
                                  printf("%d\n",student[i].num);
                                  printf("%s\n",student[i].name);
                                   printf("%s\n",student[i].dept);
     }
     }

用于访问结构体成员的100条记录

于 2013-02-22T13:08:51.203 回答