首先說明一下,宣告和定義是兩個不同的概念,乙個比較大的區別就是宣告不分配空間,而定義分配。
現在來討論一下關於定義指標是否為其分配記憶體的問題。
能夠確定的是定義陣列的時候是分配給它空間的。
首先看下面的程式;
#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...