指標
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...