對於各種指標的理解

2021-08-14 03:56:27 字數 1152 閱讀 8042

在定義指標變數時,用 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.指標...