1.形參和實參都用數組名。
2.實參采用數組名,形參采用指針變量。
3.實參和形參都采用指針變量。
4.實參為指針變量,形參為數組名。
#include<stdio.h> #include<iostream> //第一種方式 //注意傳入的是a[],而不是a void change(int a[]){ a[4] = 888; } //第二種方式 void change2(int* a) { *(a+4) = 999; } //第三種方式 void change3(int* p) { *(p + 4) = 333; } //第四種方式 void change4(int a[]) { a[4] = 222; } void printArr(int arr[],int length) { for (int i = 0; i < length; i++) { printf("%d ", arr[i]); } putchar('\n'); } int main() { int a[5] = { 1,2,3,4,5 }; int length = sizeof(a) / sizeof(a[0]); printf("改變之前的數組:\n"); printArr(a, length); change(a); printf("改變之后的數組:\n"); printArr(a, length); printf("改變之前的數組:\n"); printArr(a, length); change2(a); printf("改變之后的數組:\n"); printArr(a, length); printf("改變之前的數組:\n"); printArr(a, length); int* p = a; change3(p); printf("改變之后的數組:\n"); printArr(a, length); printf("改變之前的數組:\n"); printArr(a, length); int* p2 = a; change4(p2); printf("改變之后的數組:\n"); printArr(a, length); system("pause"); return 0; }
輸出:

