需要cdecl澄清:什么是“数组5?”

时间:2016-07-06 23:41:59

标签: c++ arrays cdecl

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

输入:

char (*arr)[5]

输出:

  

将arr声明为指向char

的数组5的指针

什么是“阵列5”?这只是一个包含5个元素的数组吗?

1 个答案:

答案 0 :(得分:1)

它是一个指向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;