c – 类型**名称和类型*名称[]之间有什么区别?

前端之家收集整理的这篇文章主要介绍了c – 类型**名称和类型*名称[]之间有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
类型**名称和类型*名称[]之间有什么区别?

为什么有人会用另外一个呢?

谢谢

解决方法

那么这取决于,它是在变量声明还是在函数参数中?如果在变量声明中:
Type** name = &pointer_to_type;
Type* name[] = { &pointer_to_type,&pointer_to_type };

第一个是指向类型指针的指针,而第二个是指向长度为3的类型的指针数组.

如果在一个函数参数中,它们是一样的.数组衰减到指针,类型**名称和类型*名称[]与函数参数完全相同.然而,第二种形式表明,name是一个长度不明的指针数组,而第一个不是.我将使用Type **来指定一个元素和Type * []来指定一个数组.

原文链接:https://www.f2er.com/c/114403.html

猜你在找的C&C++相关文章