C語言 結構體

2021-07-03 08:14:55 字數 2227 閱讀 6031

陣列本身是不能直接相互賦值的;

可以通過把 陣列 放在 結構體裡 ,用結構體去賦值,因為結構體是可以相互賦值的。

1、以最⼤大成員變數型別所佔空間的最小整數倍為分配單位;

2、按結構體成員宣告順序自上而下分配;

3、盡可能的減少碎片空間。

注:分配空間不足以儲存成員變數時,分配新的空間單位。

//

// main.m

// c_project_07

//// created by on 15/3/19.

//#import

/*struct student

;//可以通過 typedef 語法將原有型別定義成新的型別,方便**書寫,以及提高**的閱讀性

//typedef 的作用相當於給原有型別 struct student 起了別名(綽號)student ,在定義之後使用即可以使用原有寫法,也可以使用別名

typedef struct student student;

*/typedef

struct student

student;

//型別定義 typedef 通常是在構造結構體 型別時以如下連用方式定義新的型別名,簡化**,方便後期使用該結構體型別

typedef

struct nbpoint

nbpoint;

typedef

struct nbrectangle

nbrect;

int main(int argc, const

char * argv)

;//

// student stu2 = ;

//

結構體型別屬於構造型別,所以其定義的變數不能直接參與運算,可以使用變數名加成員名的形式單個訪問

//

// stu2.score = 120;

// printf( "學號:%d, 姓名:%c, 性別:%c, 成績:%0.2f \n", stu2.number, stu2.name[0], stu2.gender, stu2.score );

//

// //與陣列不同的是,相同型別的結構體,可以相互賦值;

// // 可以通過把 陣列 放在結構體內實現陣列的直接賦值

//

// student stu3 = stu1;

// printf( "%s\n", stu3.name );

//

// 有三個學生,程式設計找出分數最高的以及年齡最小的

//

// student stu[3] = , temp1, temp2;

//

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

//

//

// for ( int i = 0; i < 3 - 1 ; i++ )

//

//

// printf( " \n成績最高的學生的資訊:\n學號:%d\t姓名:%s\t年齡:%d\t成績:%0.2f\n\n年齡最小的學生的資訊:\n學號:%d\t姓名:%s\t年齡:%d\t成績:%0.2f\n",

// temp1.number, temp1.name, temp1.age, temp1.score, temp2.number, temp2.name, temp2.age, temp2.score );

// nbrect rect = , 30, 100 };

//

// rect.origin.x = 200;

//

student stu[5] = , temp;

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

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

printf( "\n按成績從高到底排序後的學生的資訊:\n" );

printf( " \n學號:\t姓名:\t年齡:\t成績:\n" );

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

printf( " \n%d\t%s\t%d\t%0.2f\n",

stu[i].number, stu[i].name, stu[i].age, stu[i].score );

return

0;}

C語言結構體

1.1.1 結構概念 1 結構存在的意義 存在是合理的,許多事物的存在是在不斷解決問題引入的,當然有更好的方法出現時改變也是合理的。在實際問題中,一組資料往往具有不同的資料型別。例如,在學生登記表中,姓名應為字元型,學號可為整型或字元型,年齡應為整型,性別應為字元型,成績可為整型或實型。顯然不能用乙...

C語言 結構體

宣告乙個結構體型別 struct 結構體名 成員表列 定義結構體變數的方法 1 先宣告結構體型別再定義變數名。在定義了結構體變數後,系統會為之分配記憶體單元.例如 struct student student1,student2 2 在宣告型別的同時定義變數,例如 struct 結構體名 成員表列 ...

c語言 結構體

1 定義結構體 c語言允許使用者自己建立不同型別資料組成的組合型的資料結構 struct 結構體名 1 結構體的型別不是只有一種,可以根據需要設計許多種,如struct student struct worker等 2 結構體的成員可以是另一結構體的成員,注意的是引用此成員的方式 2 定義結構體變數...