c語言構造資料型別

2021-07-04 22:47:55 字數 2524 閱讀 5780

1.

/*typedef:給老的資料型別取別名;可以簡寫複雜的資料型別; */

typedef unsigned int ui;

typedef int *pint;//pint是個型別,int *的新名字;

typedef int (*pfunc)(int ,int );//pfunc是個型別,表示函式指標型別;

int add(int a,int b)

int main(int argc, const char * argv)

2./*

結構體:關鍵字 struct

*/

#include struct student//定義了一種新的資料型別;

;typedef struct student stu;

typedef struct student//定義了一種新的資料型別;

stu;

int main()

;//struct student是資料型別:xiaoming是變數名;

printf("sizeof(struct student) is %lu\n",sizeof(struct student));

//訪問結構體的成員變數

xiaoming.age=30;

//1:改名字

strcpy(xiaoming.name,"wangcai");

//2:公升級

strcat(xiaoming.name,"6s");

printf("name:%s,age:%d,height:%d\n",xiaoming.name,xiaoming.age,xiaoming.height);

stu xiaohong = ;

printf("name:%s,age:%d,height:%d\n",xiaohong.name,xiaohong.age,xiaohong.height);

return 0;

}

#include typedef struct student//定義了一種新的資料型別;

stu;

int main()

; stu *pst;//pst就是乙個指標,stu是pst指向的資料型別;pst可以指向class裡的任何乙個元素;

//給陣列所在元素賦值

class[0].age = 18;

//name :ios1518+2位學號

//height :180,175~180之間浮動

//age :15~24

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

//遍歷學生資訊

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

//按照身高排序:排序的主體是陣列的元素,但key是元素的身高,排序需要將整個構造體全部元素進行排序

for(int i=0;i<10-1;i++)}}

printf("****************************************\n");

//遍歷學生資訊

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

//使用pst指標訪問陣列,

// pst = &class[0];//指標指向首個元素

pst = class;

printf("sizeof(stu)=%lu,sizeof(class)=%lu\n",sizeof(stu),sizeof(class));

//訪問第乙個元素

printf("first info ,name:%s,age:%d,height:%d\n",pst->name,pst->age,pst->height);

printf("****************************************=\n");

//遍歷學生資訊

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

}

typedef struct student

; /*

共享同一段記憶體,按情況去解析;

記憶體大小按大的計算;//所以此結構體占用的記憶體是20+4+4+20=48位元組;

初始化的時候,按照第乙個解析;

*/}stu1;

int main()

;//開始的時候只能按照int進行初始化,不能用nickname;

strcpy(xiaohong.nickname, "旺財");

printf("%s\n",xiaohong.nickname);

return 0;

}

3./*

列舉:一枚一枚的舉出來;把乙個變數的合理取值列舉出來;

列舉是整形常量,把變數的合理取值列舉出來;

列舉的常量,預設從0開始,後面一次加1; */

typedef enum weekday

weekday;

int main()

return 0;

}

c語言 資料型別 構造型別

利用計算機存處理單一的資料是比較容易,比如乙個人的某一科成績,直接建立乙個變數儲存相應的分數就可以了,但是要同時處理多個科目的時候,這時候就有點麻煩了,同時建立多個變數儲存多個科目這樣子顯得有點奇怪不是麼?假設乙個人有5個科目的成績要儲存,乙個班50個人就得要有250個變數來儲存分數,光乙個班級就得...

C 構造資料型別 指標

c 中提供了用基本資料型別構造的構造資料型別來對複雜的資料進行描述與處理。這些構造資料型別包括枚 舉 陣列 結構 聯合 指標 引用。接下來結合我對指標的認識來說說指標。一 指標的由來 當定義乙個變數後,記憶體中將會劃分出一塊若干個儲存單元組成的區域,用於儲存該該變數的的資料 如圖所 示,記憶體裡每個...

C 構造資料型別 引用

提及引用,我想起了小時候夥伴們互相起外號,同學們的外號有時特別生動形象,每當提及都忍俊不禁。自從給 某人起了乙個有特色的外號後,他的名字就被取締了。時間長了,只要叫某同學的外號,他便答應了。知識源於生活,在c 中也出現了的外號,它沒有人的外號那麼幽默,但是很雅緻,叫做引用。引用在程式設計中 很實用,...