首 页 行业热点 新车 试驾评测 养车用车 车型库

c语言指针初始化

发布网友 发布时间:2022-04-20 17:24

我来回答

4个回答

热心网友 时间:2023-07-04 17:27

int array[4][5][6];
int (*pa)[4][5][6] = &array;//一级指针,指针向一个数组,该数组为int [4][5][6]
int (**a)[4][5][6] = &pa;//二级指针,指向上一行的一级指针

对于动态分配的结构,不可能用数组这种形式来存储的。因为数组的下标必须在编译时刻明确为常量。楼主用的C++,可以考虑用STL的vector。另外,我觉得本身用维度这么大的数组就不是很合适,应该换别的方式。

热心网友 时间:2023-07-04 17:27

第一个,指针变量是局部变量,且没有正确赋值,是一个野指针
第二个,指针变量是形参,在函数调用中就吧实参值传给形参了,所以实际上指针p是有被正确赋值的(当然此处假设是调用正确的情况下),不是野指针

热心网友 时间:2023-07-04 17:28

指针申明的时候最好初始化。。初始化以后的指针在一些操作下野会变成野指针,比如:free释放内存以后。。指向被释放的内存的指针也是野指针。。

我理解的野指针就是不可控的,不确定指向的指针都是野指针。

热心网友 时间:2023-07-04 17:28

注意了,a只是一个双重指针,不是数组。还有new这个东西是C++中的。C中用malloc分配内存,再初始化。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com