函数传递数组
我们一般创建数组就是很简单的 int a[3]; 这种 其实在c++中 这个a其实是指针 指向的是数组的第一个元素地址
如果我们此时 int *b = a; 那么就会输出数组的第一个元素值。
所以在c++中我们函数传递数组可以将函数这样写
void arrayTest(int* arr,int size){
for(int i = 0 ; i < 3 ; i++){
cout<<arr[i];
}
}
void arrayTest(int arr[]){
for(int i = 0 ; i < 3 ; i++){
cout<<arr[i];
}
}
这两者其实一样的
不过后来 一般都是直接引用vector
对于二维数组的传递 其实也可以这样只不过
我们可以修改一下代码
void arrayTest(int arr[][3]){
for(int i = 0 ; i < 3 ; i++){
cout<<arr[i];
}
}
函数指针 应用场景也比较广泛 可以通过传递函数 从而实现不同的功能
首先定义函数
void add(int);
那么函数指针定义就是 首先是返回值类型 (*func)(函数传递参数)
void (*pf)(int) = add;
这个pf就是指向add函数的指针 千万记住 (*pf) 的括号不能少 否则意思就变了
其次调用的话很简单 我们可以直接pf(int) 也可以 (*pf)(int) 我还是偏向于第二种 指针指向的函数 传入int参数