close

指標變數

定義:指向一般變數,存放的值為變數位址(address)。

宣告格式:  資料型態 *指標變數

ex:

int value=5;

 

int *ptr=&value;

 

範例

/*指標變數*/
#include<stdio.h>

void fun(int *fptr)
{
	*fptr=5;  //指標指向的值改成5,即value變成5 
}

int main()
{
	int value=1;
	int *ptr=&value;
	fun(ptr);
	printf("%d",value);
	return 0;
}

 

 

雙重指標

定義:指向指標的指標,存放指標變數的位址(address)。

宣告格式: 資料型態 **雙重指標

ex:

int value=5;

int *ptr=&value;

int **p=&ptr;

 

圖片1  

如上圖,假設雙重指標宣告為**p

*p 指向指標變數值1460

**p為指向一般變數值5

 

範例

/*雙向指標 pointer to pointer*/ 
#include<stdio.h>

int value=0;
void changePtr(int **ptr) //透過雙重指標改變指標變數的值 
{
	*ptr=&value;   //改變指標變數的值,即改變localPtr存放的值 
}

int main()
{
	int localValue=1;
	int *localPtr=&localValue;
	changePtr(&localPtr);
	printf("%d\n",*localPtr); //經過changPtr函式,localPtr指標變數改指向value變數 
	return 0;
}

 

 

 

arrow
arrow
    文章標籤
    雙重指標 指標變數
    全站熱搜

    東勢厝滴yang 發表在 痞客邦 留言(0) 人氣()