c中關於指標的宣告和定義的一些問題

2021-08-25 04:34:49 字數 407 閱讀 4112

首先說明一下,宣告和定義是兩個不同的概念,乙個比較大的區別就是宣告不分配空間,而定義分配。

現在來討論一下關於定義指標是否為其分配記憶體的問題。

能夠確定的是定義陣列的時候是分配給它空間的。

首先看下面的程式;

#include

main()

程式直接崩掉了,看來定義乙個指標是不為其分配空間的。

那再看乙個程式

#include

main()

竟然過了!列印出了i的位址,是不是有點意外。

仔細分析,其實在定義了指標的時候,指標已存在於記憶體的某個位置,只不過它的指向是未定義的,這樣直接呼叫*i的話,結果就是未定義的,所以比較安全的使用指標的方法應當是這樣:

#include

void main()

}

關於指標定義的一些問題

關於const在定義常量方面的使用問題 在學習的c c 的過程中,會時常會碰到一些令人大費腦筋拐不過彎來的事情 比如這個const的使用。當我看到和int const a,const int a,const int const a const int a,int const a的 時候,頭都大了,一...

關於C 中物件指標的一些用法

存放物件初始位址的指標變數就是指向物件的指標變數,存放物件成員位址的指標變數就是指向物件成員的指標變數。1.指向物件資料成員的指標 定義指向物件資料成員的方法和定義指向普通變數的方法相同 資料型別 指標變數名 如 doouble p p student.score 將物件student的資料成員sc...

關於C指標的一些理解

有時總被指標的用法及型別所困擾,那我簡單理解一下指標。指標是乙個特殊的變數,它裡面儲存的數值被解釋成為記憶體裡的乙個位址。要搞清乙個指標需要搞清指標的四方面的內容 指標的型別,指標所指向的型別,指標的值或者叫指標所指向的記憶體區,還有指標本身所佔據的記憶體區。如下例子 1 int ptr 2 cha...