C++ 为什么用二级指针存放一级指针
时间: 2024-04-06 14:32:46 浏览: 68
C++ 中使用二级指针存放一级指针的原因是为了能够在函数内部修改指针指向的内存地址。当我们需要在函数中修改一个指针指向的内存地址时,我们需要将这个指针的地址传递给函数,而传递指针的地址就需要使用二级指针。这样,我们就可以在函数内部通过修改指针指向的地址来实现对指针的修改。另外,使用二级指针还可以在函数内部动态地分配内存空间,并将其赋值给一级指针,从而实现动态内存分配的功能。
相关问题
C++ 二级指针和指针数组
二级指针是指指向一级指针的指针。在C语言中,二级指针可以用来间接操作一级指针所指向的变量或数组。例如,int** p表示p是一个二级指针,它存放的是一级指针的地址,而一级指针又指向一个int类型的变量或数组。通过二级指针,我们可以通过*p来访问一级指针所指向的对象,通过**p来访问一级指针所指向的对象的值。
指针数组是指一个数组,它的元素都是指针类型。例如,int* arr表示arr是一个指针数组,它有3个元素,每个元素都是int类型的指针。通过指针数组,我们可以将多个指针存储在一个数组中,方便管理和使用。
二级指针也是指针,只不过比一级指针更大
回答: 是的,二级指针也是指针,它可以存放一级指针的地址,指向一级指针。二级指针的大小与一级指针的类型相同,移动二级指针的步长取决于数据类型。例如,如果一级指针是int类型的指针数组,那么二级指针移动一个步长的大小为4个字节,如果一级指针是char类型的数组,那么二级指针移动一个步长的大小为1个字节。二级指针可以通过多级指针的方式来引用和访问数据,例如通过一级指针访问数组的首地址,通过二级指针访问数组的值。在C语言中,可以使用二级指针来实现一些复杂的数据结构,如函数指针数组和指向指针的指针数组。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [C语言:关于二级指针之指向指针数组的指针的理解和操作](https://blog.csdn.net/m0_52140375/article/details/127542236)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [C++指针:(包括二维数组、二级指针、动态二维数组内存连续)](https://blog.csdn.net/weixin_43294620/article/details/122703495)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文