c語言中指標的基本用法分析

2021-10-07 20:42:19 字數 1329 閱讀 5793

1、指標指向變數:

下面有這樣乙個**塊:

int main()

void test(int x,int y)

最後輸出的結果還是a=10,b=15。因為在函式呼叫時,實參和形參之間只是值傳遞。但我們使用指標結果就不一樣了,如:

int main()

void test(int * x,int *y)

輸出結果a=15,b=10。變數a和b的值發生了交換。這是因為我們利用指標訪問變數的儲存單元,間接修改變數的值。

2、指標指向陣列:

定義乙個陣列並初始化,int array[5]=,定義乙個指標變數並把陣列的位址賦給它,int

*p=array,注意陣列名就是陣列的位址,而且陣列的位址就是首元素的位址。因此我們的指標變數就指向了陣列的首元素,*p=2。如果把(p+1),那麼指標變數就指向了陣列的下乙個元素5,因此我們可以利用指標來遍歷陣列的各個元素:

int main()

;int p =array;for(int

i=0;i<5;i++)return 0;}

3、指標指向字串:

我們都知道用陣列儲存字串,如char name[20]=「jack」,上面已經簡單講述了指標指向陣列,所以我們可以這樣做,char

*name=「jack」,指標變數指向字串的首個字元並可以依次訪問字串的各個字元。

4,指標指向函式:

我們需要知道怎樣表示乙個指標指向函式,說白了就是語法要正確,下面我也取乙個**塊來說明一下:

int sum(int x,int y)

int main()

不難發現上面**塊裡語句(*p)(a,b)可以用p(a,b)來代替,因為p和sum就是一樣的,只是用前者可能更容易理解一點。而我們要知道怎樣定義乙個指標指向函式,int

(*p)(int,int)這是固定寫法,前面的int是指標將來指向的函式的返回值的型別,如果沒有函式返回值,那就是void,後面括號裡的兩個int

當然就是指標將指向的函式的形參。指標指向函式用起來確實有點抽象,要想熟練運用的話就多去做一些這方面的練習吧!

5,指標指向結構體:

我們首先首先定義乙個結構型別,

struct student

;再根據型別定義結構體變數 struct student stu=;定義乙個指標指向結構體型別,struct student

*p;把結構體變數stu的位址賦給指標變數p,p=&stu;我們可以有3種方式來訪問結構體中的屬性ages:

stu.ages=15;(*p).ages=15;p->ages=15;不過第三種方式在c語言中只能用來指向結構體。

相關c語言-指標學習資料

指標指標換裝你還認識嗎

C語言中指標的簡單用法

指標的應用與理解 p 指標佔位符 x 16進製制佔位符 c int num1 8 int num2 10 int ptr num1 num1 int ptr num2 num2 p 指標佔位符 x 16進製制佔位符 printf ptr num1指向的值為 d n ptr num1 printf p...

C語言中指標大全

1.使用二維字串儲存字串的時候會出現儲存浪費的情況,使用指標陣列儲存則不會 char s for i 0 ifor i 0 i 3 i 2.指標陣列作為函式引數傳遞多個字串給另乙個函式。指標陣列是乙個陣列,只是裡面存放了指標 void str sort char s,int n n代表指標陣列的長度...

C語言中指標的操作

c語言中指標操作主要有以下幾種 指標減去乙個整數 模擬上面的4。指標自減 模擬上面的5.求差值 通常對指向乙個陣列兩個不同元素的指標求差值,代表兩個元素位置的差值。示例 include int main void int ptr1,ptr2,ptr3 ptr1 urn ptr2 urn 2 prin...