知識點總結 7 結構體

2021-09-19 23:03:52 字數 1161 閱讀 8855

if(a <= 0)推薦:(a < 1)逼近條件

變數意義單一函式意義單一

資料區存放 : 全域性變數 靜態區域性/全域性變數 字串常量

**區

堆區

棧區編譯時進行型別檢查

陣列名 例外(1)siezof 整個大小 首元素位址

函式在棧幀中退出時 棧幀被** 但其中的資料還有殘留 只有在另乙個函式需開闢此棧幀前 window系統會用ccccccccc清理

兩個陣列名 不可以相互賦值 原因兩個陣列的長度不一定可以接納 例如arr[10]=brr[3] 會爆掉

return 建立與函式名同型別的臨時量存放資料 結束當前函式

內建型別 char; short; int; long int; long long; float; double;

返回多個值可以設計為變數型別一致的結構體能用庫函式 就不自己寫 ==>程式的可移植性高

是指標 就開闢4位元組

大端 高位址(0x12345 ~ 0x12300)對應存放高數字(12 34 56 78 90) 1234567890

型別決定指標

指標加一的能力

指針對記憶體的解釋能力

結構體

struct foo

;struct foo f1;

f1.p = malloc(45);

struct foo f2 = f1; // 兩者同時指向同一空間 淺拷貝 乙個指標修改 另乙個也受影響

free(f1.p); // 釋放了f1.p指向的空間

int a = *(f2.p); // f2.p 懸空 無指向 所以f2.p訪問無效

struct foo

;struct foo f1 = ;

struct foo f2 = f1; // 深拷貝

int arr[3] = ;

arr += 1;// 錯誤操作 陣列名不可以被賦值

結構體知識點總結

對於結構體的知識點,我主要分為以下幾點來講解 結構體的宣告 結構體型別的建立 結構體成員的訪問 結構體的初始化 結構體內存對齊 位段。1.結構體的宣告 struct stu 分號不能丟2.結構體型別的建立 有兩種建立的方法,第一種 struct stu struct stu s1 定義了乙個結構體變...

結構體知識點梳理

typedef struct teacher teacher int main strcpy t0.name,t1name t1.操作符 定址操作,計算name相對於大變數的偏移量,在cup中計算,沒有操作記憶體 通過指標的方式 操作 記憶體空間 teacher p null p t0 printf...

結構體的簡單知識點

包括結構體的基本知識 結構體的記憶體對齊原理 結構體巢狀和結構體指標 include include struct 是乙個c語言的乙個關鍵字,用來宣告乙個結構體型別 宣告了乙個名字叫 student 的結構體型別 有兩個成員,分別是整型的 id 學號 字元陣列 name 名字 struct 只是宣告...