【发布时间】:2013-02-22 09:44:33
【问题描述】:
我在 C 中有一个结构,最后有一些无法解码的声明
struct Student
{
int roll;
char name;
int age;
};
extern struct Student dev[];
最后一条语句在 C 中是什么意思??
【问题讨论】:
-
嗯,你没有C书或C参考书吗?
我在 C 中有一个结构,最后有一些无法解码的声明
struct Student
{
int roll;
char name;
int age;
};
extern struct Student dev[];
最后一条语句在 C 中是什么意思??
【问题讨论】:
extern struct Student dev[];
告诉编译器dev 是struct Student 类型的数组,它在其他地方(其他翻译单元)定义。
【讨论】:
dev 是一个数组。这个数组的每个元素的类型都是Student。
这意味着dev[] 没有在这个 C/object 文件中声明,而是在另一个文件中。您必须将该其他对象链接到您的二进制文件才能使用该变量。
【讨论】:
struct students
{
int num;
char name[100];
char dept[100];
} extern struct students student[];
student[] 是结构体数组,用于访问结构体成员 比如 num,name,dept.
int 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条记录
【讨论】: