0

以下代码:

main(){
uint8_t id = 1;
uint8_t str[] = "shutdown 1";
uint8_t* (rcm)[];

rcm = &str; //line 83

返回第 83 行的警告:

invalid lvalue in assignment

有谁知道我该如何解决?我被困在这几个小时...

4

1 回答 1

1

如果您有一个声明为的数组

uint8_t str[] = "shutdown 1";

那么指向数组第一个元素的指针看起来像

uint8_t *rcm = str;

如果你想声明一个指向整个数组作为单个对象的指针,那么你可以写

uint8_t ( *rcm )[11] = &str;

至于这张唱片

uint8_t* (rcm)[];

那么它不是指针的声明。它是一个大小未知且元素类型为 的数组的声明uint8_t *

于 2021-10-10T11:30:02.300 回答