需要 cdecl 说明:什么是 "array 5?"
cdecl clarification required: what is an "array 5?"
转到这里:http://cdecl.org/
输入:
char (*arr)[5]
输出:
declare arr as pointer to array 5 of char
什么是 "array 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;
数组的指针和引用对于将数组传递给函数以及 returning 它们很有用。不要 return 本地非静态数组,因为它们的生命周期结束于 return。
要引用数组,您可以使用以下声明:
char (&arr)[5] = array;
转到这里:http://cdecl.org/
输入:
char (*arr)[5]
输出:
declare arr as pointer to array 5 of char
什么是 "array 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;
数组的指针和引用对于将数组传递给函数以及 returning 它们很有用。不要 return 本地非静态数组,因为它们的生命周期结束于 return。
要引用数组,您可以使用以下声明:
char (&arr)[5] = array;