C語言筆記 結構體

2022-09-18 18:39:11 字數 2494 閱讀 2546

struct

mystruct //結構體名

; //注意一定要加;

這是基本格式,其餘的見 筆記

#define _crt_secure_no_warnings#include 

#include

struct

student

; //

結構體型別宣告,注意最後一定要加分號

intmain();//

結構體變數

//列印要乙個乙個來

printf("

%d %s %c %d %5.2f %s\n

",s.num,s.name,s.***,s.age,s.score,s.daar);

system(

"pause");

return0;

}

struct student sarr[3];//

結構體陣列

inti;

//通過scanf for迴圈讀取資料

for (int i = 0; i < 3; i++)

//列印輸出來

for (int i = 0; i < 3; i++)

#define _crt_secure_no_warnings#include 

#include

struct

student

;int

main();//

結構體變數 也可以再結構體定義的最後寫

struct student* p;//

結構體指標

p=&s;

printf(

"%d %s %c\n

",(*p).num,(*p).name,(*p).***); //()用括號的原因是.優先順序最高,p是指標,不能.name 只能->name 這樣會報錯 //

也可與這樣寫

printf("

%d %s %c\n

",p->num,p->name,p->***);//->用於指標的成員選擇

struct student sarr[3]=;

p=sarr;//

p存的就是sarr陣列起始位址

int num=0

; num=p->num++;

printf(

"num=%d,p->num=%d\n

",num,p->num);

num=p++->num;

printf(

"num=%d,p->num=%d\n

",num,p->num);

system(

"pause");

return0;

}

下面解釋下:

num=p->num++;

printf(

"num=%d,p->num=%d\n

",num,p->num);

num=p++->num;

printf(

"num=%d,p->num=%d\n

",num,p->num);

num=p->num++;  跟i++很像

先num=p->num 結果為1001  ,然後 p->num++   p這時候為1002 

num=p++->num; 

->優先順序跟.一樣比 ++高 

所以num=p->num  這時候p的位址上存的num 是上面的1002

typedef的作用就是起別名

定義方式:

typedf  struct

student stu , * pstu ;

#define _crt_secure_no_warnings#include 

#include

//給結構體型別起別名,叫stu,起了結構體指標型別的別名,叫pstu

typedef struct

student

stu,*pstu;

//typedef _w64 unsigned int size_t;

//size_t的定義

typedef int ineger; //

與size_t相似,起了個新型別ineger int 型號

intmain();

pstu p;

//stu* p 就相當於乙個結構體指標

ineger i= 10; //

等價與int i=10;

p=&s;//

p指向s的位址

printf("

i=%d,p->num=%d\n

",i,p->num);

system(

"pause");

return0;

}

可以起別名,也可以直接當結構體使用

C語言筆記 結構體

在習慣複製貼上之後導致現在自己敲程式都成了問題。鏈結構體都不會敲了,於是痛定思痛,寫下這篇筆記,警示後 zi 人 ji 定義 struct 結構體名 一定要有分號,定義本身就是個語句的說例子 struct boo 定義名字是boo的結構體 和定義出一種新的型別差不多 上面這樣就定義出了個結構體,相當...

C語言筆記 結構體

第一種 只對結構體進行宣告 struct 結構體名 struct student 第二種 在宣告型別時同時定義變數 struct 結構體名字 變數名列表 struct student student1,student2 第三種 不指定型別名直接定義結構體型別變數 struct 變數名列表 struc...

c語言 結構體學習筆記

一般形式 struct 結構體名 示例struct student 注意最後的分號2.1.先宣告結構體型別,再定義該型別的變數示例 struct student student1,student2 2.2.在宣告型別的同時定義變數 一般形式 struct 結構體名變數名表列 示例struct stu...