arrays - 如何将数组分配给指针?
问题描述
以下代码:
main(){
uint8_t id = 1;
uint8_t str[] = "shutdown 1";
uint8_t* (rcm)[];
rcm = &str; //line 83
返回第 83 行的警告:
invalid lvalue in assignment
有谁知道我该如何解决?我被困在这几个小时...
解决方案
如果您有一个声明为的数组
uint8_t str[] = "shutdown 1";
那么指向数组第一个元素的指针看起来像
uint8_t *rcm = str;
如果你想声明一个指向整个数组作为单个对象的指针,那么你可以写
uint8_t ( *rcm )[11] = &str;
至于这张唱片
uint8_t* (rcm)[];
那么它不是指针的声明。它是一个大小未知且元素类型为 的数组的声明uint8_t *
。
推荐阅读
- php - 使用回调函数索引数组以获取键
- wordpress - 将 WordPress URL 批量转换为新 URL 结构的最佳方法?
- html - 我可以在 HtmlService 和 HtmlOutput 对话框中格式化文本吗?
- regex - 正则表达式:删除最后一个下划线后的所有内容
- spring-boot - Google Secret Manager 机密未加载到应用程序属性中 - Spring Boot - App Engine
- c# - 如何让多个视图模型查看布尔变量的变化?
- c# - 用于使用 StringBuilder 显示多个 HTML 页面而不是仅显示一个 (ASP.NET) 的语句
- r - 在R ggplot中的数据点中的两点之间绘制一条线
- rust - 如何镜像子像素的矢量?
- python - 使用 group_by 关联进行多个非常不同的操作