一级指针传参
传一维数组
#include<stdio.h> #include<stdlib.h> int point(int* arr) { for (int i = 0; i <= 3; ++i) { printf("%d\t", arr[i]); } } int main() { int arr[] = { 1, 2, 3, 3 }; point(arr);//数组名指向数组第一个元素的地址,可以作为指针直接传递 system("pause"); }传指针
#include<stdio.h> #include<stdlib.h> int point(int* arr) { for (int i = 0; i <= 3; ++i) { printf("%d\t", arr[i]); } } int main() { int arr[] = { 1, 2, 3, 3 }; point(&arr);//传指针 system("pause"); }二级指针传参
#include<stdio.h> #include<stdlib.h> int point(int** ptr)//参数为二级指针 { **ptr = 40; printf("%d\n", **ptr); } int main() { int a = 10; int p = &a; //int* ptr = &p;//也可以用这种方式定义 int** ptr = &p;//定义二级指针 point(ptr);//传递二级指针 system("pause"); }