当数组变量被视为指针时,它被视为简单数组?

Kau*_*tav 0 c arrays pointers

当数组变量被认为是指针时,它被认为是C中的简单数组?例如,有时sizeof(array_variable)运算符返回地址大小,有时它返回数组的大小.

Eri*_*hil 5

C 2011(N1570)6.3.2.1 3:

除非它是sizeof运算符,_Alignof运算符或一元&运算符的操作数,或者是用于初始化数组的字符串文字,否则将具有类型''数组类型 ''的表达式转换为表达式输入""指针键入指向阵列对象的初始元素,不是左值"".如果数组对象具有寄存器存储类,则行为未定义.

C 2011(N1570)6.7.6.3 7:

参数声明为'' 类型数组''应调整为''限定指向类型 '',其中类型限定符(如果有)是在数组类型派生的[和]中指定的那些.