c語言如何給指標引數賦值為null

2021-06-25 14:47:35 字數 1015 閱讀 7864

1樓:焉合英葷乙

用指標的引用即可.

例如:int

memnull(int

*¶m)

在另乙個函式裡呼叫它:

int*a;

memnull(a);

memnull執行完之後a的位址就被修改為null了.

或者可以用指標的指標:

intmemalloc(int

**param)

呼叫的時候這樣呼叫:

int*a;

memnull(&a);

這樣memnull函式執行完後a的位址也會被修改為null.

同理其他操作,申請空間,改變指向等,也可以用指標的引用和指標的指標這兩種方法完成.不過還是推薦指標的引用,在寫**時不容易寫錯.

2樓:巫素芹拜君

1、既然是指標變數,那麼將乙個變數的位址值賦值給該指標變數即可!

2、至於具體講乙個位址值賦值給指標有兩種方法:一種就是用取位址符&來操作內嵌變數,另一種就是通過採用malloc函式動態開闢記憶體並將記憶體位址值賦值給指標變數。

3、舉例說明:定義int型指標變數int

*p;和int型變數int

a;那麼將a的位址值賦值給p:p=&a;另一種方式是動態方式:p=(int*)malloc(size(int));

3樓:寶若谷郎雨

樓主其實很簡單,例如你定義乙個int

a;然後把&a的帶入你的函式中,函式的形參為int*p;在函式中把*p=null,不過最好是用巨集定義,把null定位0;

這樣a變數的位址所指向的值就變為0了

你要是有什麼不懂得可以找我

4樓:馮振梅初癸

想實現你的想法也不難,只要用指標的指標即可,下面是我寫的乙個測試用例:

#include

void

func(int

**p)

intmain()

else

return0;}

在C 中,指標被delete後而不賦值為NULL,那該指標是什麼樣的狀態,它有指向的記憶體空間嗎

那個指標的值是不變的,也就是還指向你申請來的那塊空間但是。即然delete了,那塊空間就不再規你的程式所有了,所以雖然你的那個指標還指向那塊記憶體空間 但你並不具有對那塊空間的使用權,訪問權。所以當你在delete後如果試圖使用的話,程式就會崩潰所以最好賦上null,防止你寫程式時不小心引用導致錯誤...

c語言的賦值問題,C語言指標的賦值問題

上面的說法中,都存在錯誤或不足.1.首先 c a b 的意義是把 a 和 b 這兩個變數的內容 5 和 6 相加得 11,再把 11 這個結果值傳送至 變數 c 所在的儲存單元儲存起來 而不是你想像的 將 a 和 b 這兩個變數組合為一個變數作為 c,或者複製一份變數組合再作為 c.當你用int a...

C語言指標問題,行指標的賦值與取值

1.p a 1可以。表示p指向陣列a的第1行。2.p a表示p指向陣列a的第0行。3.p a.則 p是陣列a的首地址,這個地址型別是int 4.可以定義成 p 4 但不能p a。因為它們型別不一致。5 p的值與型別與a 0 相等。 菜刀剁菜鳥 1.正確 2.p a是表示p指向陣列a的第0行 p指a ...