c語言基礎(3) 陣列和指標作為實參和形參的問題
阿新 • • 發佈:2019-02-03
字串
char a[]="abc";
printf("%s",a);
fgets(a,100, stdin) //安全的字串輸入函式
printf("%s",a);
scanf("%*[^\n]"); //兩個scanf清空輸入快取
scanf("%*c");
int 值作為實參 指標作為形參
void xchange1(int *n1,int *n2) 形參
int num1,num2;
xchange1(&num1,&num2) 實參
指標作為實參 指標作為形參
void print(int *p) 形參 int *a=NULL;; print(a); 實參
陣列作為實參 指標作為形參
void print(int *p,int size) 形參
int a[4];
print(a,4); 實參
void cpy(char *first, const char *second) 形參
char a[10]="abc";
char b[10]={};
cpy(b,a); 實參
指標作為實參 二級指標作為形參
void xchange1(char **s) 形參
char *p=NULL;
xchange1(&p); 實參
陣列作為實參 陣列作為形參 陣列做形參的時候一定要帶上陣列的長度
void print(int arr[3][4], int x, int y) //形參 一定要帶上陣列的長度 int arr[3][4]; print(arr, 3, 4); // 實參 void print(int *arr, int n) //形參 一定要帶上陣列的長度 int array[10]; print(arr,10); // 實參
陣列指標
宣告語法:資料型別 (*指標變數名)[組內元素個數];
int (*p)[10];
int (*p)[ ][10];
*(*(二維陣列指標+i)+j) 得到的是第i組第j個元素的值
*(一維陣列+i) 得到資料第i個元素的值
int a[ 10 ];
*(a+1) = a[1];