如何将数组分配给指针?
How can I assign an array to pointer?
以下代码:
main(){
uint8_t id = 1;
uint8_t str[] = "shutdown 1";
uint8_t* (rcm)[];
rcm = &str; //line 83
Returns 第 83 行的警告:
invalid lvalue in assignment
有人知道我该如何解决吗?我坚持了几个小时...
如果你有一个像
这样声明的数组
uint8_t str[] = "shutdown 1";
然后指向数组第一个元素的指针看起来像
uint8_t *rcm = str;
如果你想声明一个指向整个数组作为单个对象的指针,那么你可以这样写
uint8_t ( *rcm )[11] = &str;
至此记录
uint8_t* (rcm)[];
那就不是指针的声明了。它是一个大小未知且元素类型为 uint8_t *
.
的数组的声明
以下代码:
main(){
uint8_t id = 1;
uint8_t str[] = "shutdown 1";
uint8_t* (rcm)[];
rcm = &str; //line 83
Returns 第 83 行的警告:
invalid lvalue in assignment
有人知道我该如何解决吗?我坚持了几个小时...
如果你有一个像
这样声明的数组uint8_t str[] = "shutdown 1";
然后指向数组第一个元素的指针看起来像
uint8_t *rcm = str;
如果你想声明一个指向整个数组作为单个对象的指针,那么你可以这样写
uint8_t ( *rcm )[11] = &str;
至此记录
uint8_t* (rcm)[];
那就不是指针的声明了。它是一个大小未知且元素类型为 uint8_t *
.