C語言結構體定義

2021-08-26 08:58:02 字數 1918 閱讀 7881

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...