類似於 int *p; char *p 或者自定義型別的 person *p; struct *p
這些都是基本的指標變數,不管什麼型別的指標變數都是乙個存位址的變數,所以它們的大小都是四個位元組
還有一種void *p 型別,類似於 js 或者 c# 的 var 可以傳入任何型別變數的位址,也可以轉換成任何型別變數的位址,這個在後面會很有用
首先明白:指標和指標指向的內容是兩個不同的東西
常量指標 : const int *p = &a; 是一種指標,指向常量的
指標常量: int *const p = &a; 是一種常量,指標型別的常量
這張圖顯示的是常量指標,由於是常量的指標,所以肯定不會允許修改常量的值
常量指標意思為 指標指向的位址的變數不可修改,但是可以更改指標的指向
這張圖顯示的是指標常量,可以讀指標的常量
,它是乙個常量,必須在定義的時候賦值,常量是不允許修改值的,所以指標的值不允許改變,但是指標指向的位址的值可以改變
int *p[10] ; 指標陣列
int (*p)[10] ; 陣列指標
如果你看了上面,一定會有所感悟。。
陣列的指標 ............ 指標的陣列 這就很好理解了
陣列指標是指向陣列的指標
指標陣列是指標的陣列,我前面說過指標也是乙個變數型別,所以拿型別定義陣列天經地義 int *p
//乙個陣列的指標 指向陣列
int arr[10] = ;
int(*parr)[10] = &arr;
//乙個指標的陣列 , 並給第乙個元素賦值
int *p[10] = ;
int a = 1;
p[0] = &a;
直接上**
int longfunc(int a, char c, long l, bool b)
如果不使用typedef ,會看起來很複雜
void doother(int(*p)(int, char, long, bool))
c語言指標詳解
一.指標的概念 指標是乙個特殊的變數,它裡面儲存的數值被解釋成為記憶體裡的乙個位址。要搞清乙個指標需要搞清指標的四方面的內容 指標的型別,指標所指向的型別,指標的值或者叫指標所指向的記憶體區,還有指標本身所佔據的記憶體區。1.指標的型別 從語法的角度看,你只要把指標宣告語句裡的指標名字去掉,剩下的部...
C語言指標詳解
c語言指標應用 一 指標是什麼 指標是乙個特殊的變數,它存的是記憶體裡的乙個位址。指標四要素 1.指標的型別 把指標名字去掉,剩下的部分就是這個指標的型別。這是指標本身所具有的型別如下 1 int p 指標的型別是int 2 char p 指標的型別是char 3 int p 指標的型別是int 4...
C語言指標詳解
以下講解是按照如下這個程式的執行順序來講解的 int a,b 這是乙個普通的整型變數 int p 這是乙個整形的指標 a 3 b 4 指標p定義的時候沒有進行初始化,所以在這裡,p的初始值是不確定的。當然也可以在p定義的時候賦初值,這樣p的初始值就是確定的了。p 1 一元運算子 可用於取乙個物件的位...