c語言 指標的運用與表示

2021-10-01 15:33:28 字數 1979 閱讀 6616

指標

1.定義

基型別 * 指標變數名

2. 賦值

int a;

int * pa=&a;//int a,* pa=&a;

int * p2;

p2=&a;

兩個運算子

& 取位址 ,後面運算元必須是變數

利用指標訪問(引用)陣列

通過下標遍歷陣列元素

int a=;

a表示的是陣列首元素的位址,是乙個位址常量,不能改變,等價&a[0]

int pa=a;//指標變數pa指向陣列首位址

int pa=&a[0];

如果指標變數指向陣列的首位址,此時指標變數可以使用下標,即指標變數等同於陣列名

a[1]<=>pa[1]

當指標變數指向陣列時,指標變數的加減運算才有意義

當指標變數pa指向陣列a的首位址,且pa得值不能改變,一直指向陣列的首位址,i表示下標

pa+i<>&a[i]<=>&pa[i]<=>a+i

表示的陣列元素的位址

*(pa+i)<>a[i]<=>pa[i]<=>(a+i)

表示的是陣列元素

void main()

void main()

//通過指標變數的改變,訪問陣列元素

void main()

/for(i=0,pa=a;i<10;i++,pa++)//一定要注意指標的當前位置,迴圈輸出陣列的所有元素

for(i=0,pa=a;i<10;i++)//一定要注意指標的當前位置,迴圈輸出陣列的所有元素/}

用陣列名作函式引數

void main()

}int research(int a,int x,int num)

;int t,x,index;

int research1(int a,int x,int num);

int insert(int a,int index,int x,int num);

arraynum=10;

size=6;

scanf("%d",&x);

/* t=research(a,x,size);

if(t1)

elseprintf(「no」);*/

t=research1(a,x,size);陣列名a做函式的實參,傳遞的是值(位址),即陣列的首位址

if(t!=1)

printf("%d index is %d",x,t);

else

printf("%d is not in array",x);

scanf("%d%d",&index,&x);

t=insert(a,index,x,size);

if(t0)

printf(「man ,fail」);

else printf("success);

}int research1(int a,int x,int num);//a是int 型別的指標等價於int research(int a,int x,int num);

}return 0;

}/*int research1(int a,int x,int num);//a是int 型別的指標等價於int research(int a,int x,int num);

}return 0;

}/int research1(int a,int x,int num);//查詢陣列中的x,返回x的下標

}return -1;//如果x不在陣列中,返回-1

}int intsert(int a,int index,int x,int num);//在陣列a中index位置插入元素x

int intsert(int a,int index,int x,int num);//在陣列元素的最後加x

int delete(int a,int index,int x,int num);//陣列中的x如果存在則刪除

void update(int a,int x,int y,int num)//將陣列中的x更新成y

C語言隨記 指標運用

下面是一列宣告 int p 返回值為int的函式 int p 3 int型陣列 int p 返回值為 乙個int型指標的指標 的函式 int p 返回值為int的函式指標 int p 6 指向 int型陣列 的指標 陣列指標 int p 返回值為 int型指標 的函式 int p 6 指向 返回值為...

C 指標運用

前提 計算機裡,記憶體調取變數,需要知道變數的實體地址,相當於現實生活中的地標,當鎖定地標之後,程序從記憶體呼叫變數時才能做到精確無誤。而我們指標就提供了地標值,哲學上通俗的說,在一定時間內地標值精確的代表了一棟房子,我們可以說當我們說起地標值,就相當於說起了房子,當我們說起了房子,也就是地標值。指...

c語言運用

1.5位運動員參加了10公尺臺跳水比賽,有人讓他們 比賽結果 a選手說 b第二,我第三 b選手說 我第二,e第四 c選手說 我第一,d第二 d選手說 c最後,我第三 e選手說 我第四,a第一 比賽結束後,每位選手都說對了一半,請程式設計確定比賽的名次。define crt secure no war...