在定義指標變數時,用 type + * 的方式
例如:
int *p;
char *ch;
...
說明一點,*和變數名沒關係,也可以寫成如下風格,單獨的p和ch叫做指標變數
int* p;
char* ch;
...
乙個指標只能指向與它型別相同的型別
如下:
int a = 0;
int *p = &a;
char ch = 'a';
char *q = &ch;
int **pp = &p;
float n = 3.14;
float *f = &n;
對下列概念的理解
1.指標陣列
例:
int a = 10;
int*arr[10];
arr[0] = &a;
*arr[0] = 20;
printf("%d\n", a);//列印結果為20
arr是乙個陣列,陣列中的元素是整型指標,可指向整型變數
2.陣列指標
例:
char arr[10];
char (*p)[10] = &arr;
*p[5] = 'a';
printf("%c\n", *p[5]);
它是乙個指標,可以指向乙個有十個元素的陣列,並可以通過這個指標改變陣列裡的任意值。
3.函式指標
int fun(int a)
int main()
它是乙個指標,可以指向函式,型別也要保持一致
4.函式指標陣列
#include
int fun(int a)
int main()
這是乙個陣列,裡面的每個元素是乙個函式指標
5.指向函式指標陣列的指標
#include
int fun(int a)
int main()
這是乙個指標,它指向了乙個陣列元素為函式指標的陣列 對於指標的理解
就是記憶體中間開闢了一塊區域存放資料的位址,這個位址就叫做指標 指標的定義服從必須的格式 整型資料 int p a 陣列 int p arr 這樣就使得p存放了資料的位址 可以理解為p 0x0000 當涉及到指標與函式的時候 includeusing namespace std void swap0...
對於c指標 的理解
對於乙個指標型別的變數int p,其指類 指類 其所指向的空間的資料型別 為int,並且假設其定義 在乙個主函式中 定義在任意函式中都行 若在其前面加乙個 符並且將這個 p傳遞到乙個自己定義的函式 中,也就是將實參 p傳到乙個函式中去 其本質是將p的首位址取出來,作為實參傳到函式中去,形參head ...
對於指標學習的理解
在最近的一段時間裡,我c語言的學習也即將接近尾聲,在這裡我想對指標的學習寫下自己的一點看法和理解,不夠全面也不是完全正確,但我希望這作為我對這段時間學習的一次總結。指標的概述 指標是一種變數型別,它與普通變數不同的是,指標裡存的是位址,指向另一變數,起到索引的作用。我所理解的指標具備三要素 1.指標...