(一)返回指針值的函數的一般形式 類型名 * 函數名(參數表列) 如:int *a(int x,int y) 調用a函數返回的指針指向整型變數 (二)指針型函數小例子 例子,輸入一個學生序號,然後輸出該學生的所有成績 註意比較*(pointer+n)和(*pointer+n)的區別*(p+n)是某一 ...
(一)返回指針值的函數的一般形式
類型名 * 函數名(參數表列)
如:int *a(int x,int y) 調用a函數返回的指針指向整型變數
(二)指針型函數小例子
例子,輸入一個學生序號,然後輸出該學生的所有成績
1 #include<stdio.h> 2 int main(){ 3 int score[][4]={{60,70,80,90},{56,23,12,78},{68,59,45,23}}; 4 int *search(int (*pointer)[4],int n); 5 int *p; 6 int i,k; 7 scanf("%d",&k); 8 p=search(score,k); 9 for(i=0;i<4;i++) 10 printf("%d ",*(p+i)); 11 printf("\n"); 12 } 13 14 int * search(int(*pointer)[4],int n){ //pointer是指向一維數組的指針變數 15 int *pt; 16 pt=*(pointer+n); //pt是score[k][0]的地址 17 return(pt); 18 }
註意比較*(pointer+n)和(*pointer+n)的區別
*(p+n)是某一行首元素的地址
(*p+n)是二維數組第n個元素的地址