需要 Cdecl 澄清:什么是"array 5?"
cdecl clarification required: what is an "array 5?"
转到此处: 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;
相关文章:
- C++如果必须在编译时确定大小,std::array 有什么意义?
- 向后迭代 std::array 或 std::vector 的正确方法是什么?
- 通过作为指向 C++ 函数的指针传递来访问 std::array 元素的正确方法是什么?
- scanf( "%d" , array[i] + 1)是什么意思?为什么+1在那里?
- 错误"invalid types ... for array subscript"是什么意思?
- 警告的原因是什么:"when type is in parentheses, array cannot have dynamic size"?
- "std::tuple_size<std::array>"的目的是什么
- C++ &array和array的用法有什么区别?
- 如何知道您输入到std::array中的最后一个元素是什么?
- 当您声明"pointer type"形式(函数)参数"like an const array"时,什么是常量?
- 什么是指向 C 语言中'array of characters'的指针?
- "except that a default constructed array is not empty"是什么意思?
- 0-length数组(或std::array)有什么用
- "address of array"的实际用例是什么?
- std::array 作为字段的语法是什么,里面的对象必须使用接受参数的 ctor 构造
- std::valarray和std::array之间有什么区别
- std::array的内联初始化有什么问题?
- 初始化的Array构造函数做什么?
- 对于编译时的1.constructor和2.array定义,几乎没有什么疑问
- std::array和std::vector的区别是什么?什么时候你用一个而不是另一个