====== 数组不转换为指针的场合 ======
数组与指针的关系很密切,很多时候数组会转换成指针使用,比如[[.:unary_conversions|一元转换]]、[[.:function_argument_conversions|函数参数转换]]。
但以下场合例外:
* sizeof,此时返回的是整个数组的大小(size),而不是一个指针的大小;
* &(取地址操作),获得一个指向数组的指针,而不是一个指向数组首元素的指针的地址;
* 用字符串常量初始化一个字符数组。
例如,有一个数组:
int array[N];
则&array的类型是:
int (*)[N]
而不是int *,或者int **。
{{tag>C语言}}