int a[100] = ;
013a356e mov dword ptr [a],5
013a3578 mov dword ptr [ebp-190h],2
013a3582 push 188h // 188h 即是十進位制的 392,也就是說先把陣列前兩個元素賦值, 剩下的再呼叫memset置 0
013a3587 push 0
013a3589 lea eax,[ebp-18ch]
013a358f push eax
013a3590 call @ilt+115(_memset) (13a1078h)
013a3595 add esp,0ch
int b[100] = ;
013a3598 mov dword ptr [b],0
013a35a2 push 18ch // 18ch 即是十進位制的 396,也就是說先把陣列第乙個元素賦值為0, 剩下的再呼叫memset置 0
013a35a7 push 0
013a35a9 lea eax,[ebp-328h]
013a35af push eax
013a35b0 call @ilt+115(_memset) (13a1078h)
013a35b5 add esp,0ch
int c[100];
memset(b, 0, 100 * sizeof(int)); // zeromemory 只是乙個巨集,實為呼叫metset
013a35b8 push 190h
013a35bd push 0
013a35bf lea eax,[b]
013a35c5 push eax
013a35c6 call @ilt+115(_memset) (13a1078h)
013a35cb add esp,0ch
將整型陣列元素初始化為0的方法
第一種方法 對於區域性陣列我們還有簡寫的初始化語法。如果乙個陣列被部分初始化,沒有被初始化的元素會被自動設定為相應型別的0。這是編譯器自動完成的。源 如下 include using namespace std int main for int i 0 i 10 i cout endl system...
C 二維陣列的引數傳遞與全部初始化為0
a為二維陣列 引數傳遞 no.形參 實參形參型別 1a size a陣列 2 a size a指向陣列的指標 3 a b指標的指標 b size b 0 a 0 b 1 a 1 b 2 a 2 形參為a size 呼叫的時候用a。陣列 形參為 a size 實參為a。指向陣列的指標 形參為 a,呼叫...
陣列,結構體初始化 0
一直以為 int a 256 是把a的所有元素初始化為0,int a 256 是把a所有的元素初始化為1.除錯的時檢視記憶體發現不是那麼一回事,翻了一下 the c programming language 總算有定論。pdf的竟然不然複製,就把它這章翻譯了,如下 5.2.1 陣列初始化 陣列可以用...