需要 Cdecl 澄清:什么是"array 5?"

cdecl clarification required: what is an "array 5?"

本文关键字:array 什么 Cdecl 澄清 需要      更新时间:2023-10-16

转到此处: http://cdecl.org/

输入:

char (*arr)[5]

输出:

将 arr 声明为指向字符数组 5 的指针

什么是"阵列 5"?这是否仅意味着一个包含 5 个元素的数组?

它是指向 5 个元素数组的指针。

//Standard array
char array[5];
//pointer to array
char (*arr)[5];
//Assign pointer of array to arr
arr = &array;
//Dereference arr and use it.
(*arr)[1] = 4;

对数组的指针和引用对于将数组传递给函数以及返回它们很有用。不要返回本地非静态数组,因为它们的生命周期在返回时结束。

要引用数组,可以使用以下声明: char (&arr)[5] = array;