函数和二维数组部分知识点

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;
posted @ 2026-01-24 12:29  努力的小xu  阅读(1)  评论(0)    收藏  举报