用指针做形参和用数组做形参的区别
时间: 2023-05-27 15:02:27 浏览: 266
形参二维数组名的三种写法-c++指针学习
在C/C++语言中,用指针作为函数的形参和用数组作为函数的形参的区别主要有以下几点:
1. 用指针作为函数的形参时,指针可以指向一个变量,也可以指向数组,可以通过指针操作指向的内存地址。而用数组作为函数的形参时,数组名实际上是数组首元素的地址,因此传递的是整个数组的值,不能直接操作数组名所指向的内存地址。
2. 用数组作为函数的形参时,大小必须明确指定,不能修改大小。而用指针作为函数的形参时,可以根据需要修改指针指向的内存区域。
3. 用数组作为函数的形参时,数组本身会被复制,因此会占用额外的内存空间。而用指针作为函数的形参时,只是传递了指针所指向的地址,不会占用额外的内存空间。
4. 用数组作为函数的形参时,数组元素不可以为NULL。而用指针作为函数的形参时,指针可以为NULL,因此在使用指针时需要进行空指针判断。
5. 在函数内部修改指向数组的指针不会影响外部数组本身。而在函数内部修改指向指针的指针也可以修改外部数组本身。
阅读全文