首页 > 解决方案 > * 是否等同于 C 中的 []?

问题描述

会编码:

char *argv[]

将与以下内容相同:

char **argv

或者会:

char *string1;
int  *int_array;

完全一样:

char string1[];
int  int_array[];

标签: cpointers

解决方案


绝对不。一个是指针,另一个是数组。

但是,当涉及到参数时,例如,char *param等价于char param[]or 。char param[16]

来自C11 草案 N1570§6.7.6.3/7

将参数声明为“类型数组”应调整为“限定类型指针”[...]


推荐阅读