無型別的指標

2021-10-19 01:23:49 字數 1124 閱讀 4340

void

*malloc

(size_t size)

;//開闢一塊連續size位元組的空間

引入

//int a[3];

int*a=

(int*)

malloc(3

*sizeof

(int))

;int i;

for(i=

0;i<

3;i++

) a[i]

=i;for

(i=0

;i<

3;i++

)printf

(" %d "

,a[i]);

free

(a);

int n,i;

printf

("請輸入學生的個數:");

scanf

("%d"

,&n)

;int

*p; p=

(int*)

malloc

(n*sizeof

(int))

;for

(i=0

;i)printf

("**********************\n");

for(i=

0;i)printf

("%d個學生的成績為:%d\n"

,i+1

,*p++

);

1.程式剛執行的時候正常,時間長後崩潰

如:此程式作為記憶體洩漏典例,請謹慎執行

while(1

)

避免

>

1.迴圈中有無一直在申請

2.有無及時釋放 free

(p) p=

null

;避免變成野指標

int

*p;//野指標

//野指標指向哪不清晰,有危險

int*p=

null

;//非野指標

無型別與無型別指標

無型別,又為抽象型別 沒有對應的實體,不能直接定義變數,但可以定義指標。1 失去指標指向的功能 2 p指標此時不具有 1的能力。在gcc編譯器下,無型別指標課加1。void 是一種特別的指標,因為它沒有指向的型別,或者說不能根據這個型別判斷出指向物件的長度。void 指標具有以下特點 1.任何指標 ...

關於無型別指標的使用

今天在工作時發現程式有可以優化的地方,程式中本來有乙個結構體a,然後a這個結構體中包含了若干個結構體bcdef等等。本意是將這若干個結構體的資料通過socket傳送出去,原本每乙個結構體都會有乙個傳送函式,現在想將它優化成乙個傳送函式。那麼問題來了?這個函式的形參怎麼設定?指向結構體中的結構體的指標...

野指標,空指標和無型別指標

一.野指標 所謂的野指標指的是乙個指標變數指向了不可使用的記憶體空間。產生野指標三個原因 1 指標變數建立時候沒有被初始化 任何指標變數在建立的時候,不會自動成為null指標,它的預設值是隨機的,因此該指標就會成為乙個野指標,可能指向一塊不可使用的記憶體空間。例如char p 這樣建立乙個指標p,指...