私はCで構造を持っていて、最後にデコードできないいくつかの宣言があります
struct Student
{
int roll;
char name;
int age;
};
extern struct Student dev[];
Cで最後のステートメントはどういう意味ですか??
extern struct Student dev[];
dev
型の配列であり、struct 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 レコードにアクセスするために使用されます。