函数和二维数组部分知识点
1.关于const
const int* pa = &age; //指向内容不可修改,指针本身可以修改,本质来说即为const *pa
int *const pb = &age2; //指向内容可以修改,指针本身不能修改,本质来说即为const pb
cout << "修改const1的值:";
pa = &a; //valid
cout << *pa;
pb = &a; / /invalid
cout << *pb;
2.函数与二维数组
在C++中传递二维数组的关键规则:行数可以省略,但是一定要明确列数,下面写三种调用二维数组的方法
假设需要调用的二维数组为arr[3][4]
整体数组表示方法
1. 普通数组表示法
int sum(arr[][4],int size) //列参数使用size来存储
sum(arr,3)
2. 数组指针表示法
int sum(int(int(*arr)[4],int size) //可读性更强
sum(arr,3);
3. vector容器表示法
int sum(vector<vector<int>>&arr) //不想固定列数的选择
vector<vector<int>>arr;
sum(arr); //直接调用函数名即可
单独下标访问方式
设要访问arr[v][c]
arr[v][c]==*(*(arr+v)+c); //记住顺序,列在里面行在外面
3. 函数与C风格字符串
C风格字符串是什么?
C风格字符串即为结尾为 "\0" 的char类型数组
下面来讲一下C++如何处理C风格字符串
1. 函数接收C风格字符串(只读)
char a[10]={'1','2','3','4','5','\0'};
sum(const char *a) // \0为结尾,根据这个性质来调用函数
2. 函数修改C风格字符串
sum(char*a) //需要确保以\0结尾
3 返回C风格字符串
此部分非常晦涩难懂,做个标记,以后有空再来复习
return char a;

浙公网安备 33010602011771号