C語言學習筆記 陣列 指標和結構 1

2021-09-30 08:17:59 字數 1276 閱讀 4464

1、使用聯合節省記憶體資源

a、不使用聯合

struct empdates

last_day;

};

儲存結構如下表示:

int days_works

int month

int day

int year

b、使用聯合

union empdates

last_day;

};

使用聯合之後的儲存結構:

int month or int days_works 

int day

int year

2、使用regs—一種典型的聯合

struct woedregs

;struct byteregs

;union regs

;

具體使用:

union regs intregs;

intregs.h.ah = 0x30;

intregs.h.ah = 0;

printf("%d.%d/n",intregs.h.ah,intregs.h.al);

當程式訪問某個通用暫存器(axbx cx dx),pc允許以16位(字)的格式引用暫存器。但是,使用者也可以用暫存器的高位元組和低位元組應用暫存器(al,ah,bl,bh,cl,ch,dl,dh)。因為這兩種方法都可以應用同乙個暫存器,所以可以使用兩種方法訪問同一儲存位址,從而進一步節省個記憶體的空間。

3、在陣列中查詢指定的值

#define arry_size 8

int found = 0;

int i = 0;

int arry[arry_size] = ;

while((i < arry_size) && (!found))

if(arry[i] == 7)

found= true;

else

i++;

if(i < arry_size)

printf("the number is found/n");

else

printf("the number is not found!/n");

C語言學習筆記 陣列指標域指標陣列

一 指標陣列和陣列指標的記憶體布局 初學者總是分不出指標陣列與陣列指標的區別。其實很好理解 指標陣列 首先它是乙個陣列,陣列的元素都是指標,陣列佔多少個位元組由陣列本身決定。它是 儲存指標的陣列 的簡稱。陣列指標 首先它是乙個指標,它指向乙個陣列。在32 位系統下永遠是佔 4 個位元組,至於它指向的...

C語言學習筆記 陣列引數和指標引數

1 c 語言中只會以值拷貝的方式傳遞引數,當向函式傳遞陣列時,將整個陣列拷貝乙份傳入函式導致執行效率低下,c 語言以高效作是最初的設計目標,所以這種方法是不可取的。2 引數位於棧上,太大的陣列拷貝將導致棧溢位。3 將陣列名看做常量指標,傳遞的是陣列的首元素位址,而不是整個陣列。1 二維陣列引數同樣存...

C語言學習筆記《陣列》

1,已知陣列x有5個元素,精組y有6個元素.請分別對x和y排序。輸出x和y排序後的元素 include main y 6 int i,j,sum 0 for i 0 i 4 i int i,j,sum for i 0 i 9 i for i 0 i 9 i printf d t a i code c...