如何将数组分配给指针?

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 *.

的数组的声明