棧裡面的陣列:
int a[10]; //這個空間實在棧記憶體中申請的
int *p =null:
p =a; //a是陣列的首地住所以可以直接賦值給指標p
p[0]=10; //就等同於a[0]=10;
這個是堆裡面的陣列:
int *a = null;
a=(int *) malloc(10*sizeof(int)); //申請10個大小的int空間,這個空間是在堆記憶體裡申請的
if(null != a)
else
free(a);
這裡值得一提的是,malloc()函式返回值 是 void * (任意型別的指標) 這裡我們的a是int型指標,所以我們需要強制型別轉換,就是在前面加上(int*)、另外申請 (new/malloc)出來的物件,都要判斷一下是否為null,這樣是乙個好習慣,並且在使用完後要free()釋放掉它、
free()函式的使用必須包含 #include標頭檔案
嘿嘿,指標目前也不需要學那麼深,一點一點來,因為資料結構中指標用也就這麼多。
指標, 指標的指標, 陣列, 指標陣列, 陣列指標
指標 int a 10 int p a 指標的指標 int b 20 int p b int p2p p 簡單陣列 int c 10 整數陣列,含有10個整數元素 也就是說每乙個元素都是整數 指標陣列 int p 10 指標陣列,含有10個指標元素 也就是說每乙個元素都是指標 陣列指標 int p ...
指標 陣列指標 指標陣列 指向指標的指標
程式中一般通過變數名對變數進行訪問操作,其實質是通過位址進行的。對變數的訪問分為直接訪問和間接訪問,如語句 printf d i 執行的時候,根據變數名 與位址的對應關係,找到i的位址,依次取相應的位元組數中的資料 即i的值 把它輸出。這種按照變數位址訪問變數值的方式成為直接訪問 還可以將變數i的位...
陣列,指標,指標陣列,陣列指標
指標是在32位系統下佔四個位元組,64位系統下佔八個位元組的一種型別,指標指向的內容可以是常量,變數,函式,結構體,指標本身,陣列,等等.一級指標 一級指標常常在函式傳參時使用,可傳的引數有一維陣列,常量指標,函式指標等等都可以 但我們要注意不要在函式中,通過改變形參的指向來達到改變實參指向的效果,...