c語言結構體定義在我看來類似資料庫的表
如:#include
#include
struct st1
int id;
char name[30];
char ***;
int score;
int main()
struct st1 s1;
s1.id = 1;
strcpy(s1.name,"張三");
s1.*** = 'm';
s1.score = 90;
puts("學號\t姓名\t性別\t分數");
printf("%d\t%s\t%c\t%d\n",s1.id,s1.name,s1.***,s1.score);
printf("%d\t%s\t%c\t%d\n",s1.id,s1.name,s1.***,s1.score);
printf("%d\t%s\t%c\t%d\n",s1.id,s1.name,s1.***,s1.score);
printf("%d\t%s\t%c\t%d\n",s1.id,s1.name,s1.***,s1.score);
printf("%d\t%s\t%c\t%d\n",s1.id,s1.name,s1.***,s1.score);
printf("%d\t%s\t%c\t%d\n",s1.id,s1.name,s1.***,s1.score);
return 0;
結果:學號 姓名 性別 分數
1 張三 m 90
1 張三 m 90
1 張三 m 90
1 張三 m 90
1 張三 m 90
1 張三 m 90
例2:cat st3.c
#include
#include
typedef struct st1
int n;
char m[20];
}a; //這裡a是整個結構體的縮寫,如:typedef unsigned int uint,這裡unit既是前面unsigned int 的縮寫,注意如果這裡沒有typedef,那麼後面a是乙個結構體變數,而不是結構體定義的縮寫。
void input (a* pa)
printf("please input your id and name:");
pa -> n = 8; //這裡是指標初始化賦值,另外可以用(*pa).n = 8來賦值,等價的關係
scanf("%d,%s",&pa -> n,pa -> m);
void print (a s)
puts("id\tname");
printf("%d\t%s\n",s.n,s.m);
int main ()
struct st1 s1; //定義結構體變數s1
a s2; //定義結構體變數s2 這裡用到了上面的縮寫a代替struct st1
// printf("please input your id and name:");
// scanf("%d,%s",&s1.n,s1.m);
s2.n = 10; //結構體變數賦值
s1.n = 11;//結構體變數賦值
input(&s1);//呼叫輸入函式
print(s1);//輸出你輸入的內容
return 0;
cc st3.c -wall
./a.out
please input your id and name:8,orange //敲入8,orange 下面是輸出的結果
id name
8 orange
C語言 結構體 定義
c語言允許使用者自己建立由 不同型別資料組成的組合型資料結構 成為結構體。struct student 宣告結構體 一般形式 struct 結構體名 定義結構體變數 1先宣告結構體型別 在定義 struct student student1,student2 2宣告的同時定義變數 struct st...
C語言結構體 別名定義
以前一直有這麼個誤區。現在解決了。c語言給結構體定義別名用typedef關鍵字操作,就兩種情況 1 給結構體起乙個別名,如 typedef struct abcs 這就為結構體abc定義了乙個別名s。以後寫s x 就等價於寫struct abc x 2 給結構體指標起乙個別名,如 typedef s...
C語言結構體定義 typedef struct
c語言規範,定義結構體 typedef struct answer header answer header t,panswer header t answer header為結構名,這個名字主要是為了在結構體中包含自己為成員變數的時候有用 answer header t為struct answer...