如何读取指针的值,因为这个指针是函数的返回?
How can I read values of a pointer, being this pointer the return of a function?
这将是我的代码:
uint8_t* send(uint16_t sw){
uint8_t sw8[2];
uint8_t* data= NULL;
sw8[0]=sw>>8;
sw8[1]=sw&0xFF;
memcpy(data,sw,2);
return data;
}
main(){
uint8_t * resp;
resp = send(x6A00);
}
例如,如果 sw 是0x6A00,*数据将是 6A,我希望它是 6A00!!!
uint8_t* data= NULL;
...
memcpy(data,sw,2);
在这里,您将 null 传递给memcpy
。程序的行为是未定义的。
我希望 [
*data
] 为 6A00!!!
然后data
必须指向某个数组。您可以通过初始化指针来实现此目的。具体来说,你应该怎么做取决于你想做什么。
我希望数据指向 sw8。但是如果我输入 data=sw8,我会得到 &sw8[0],我无法访问整个数组,对吧?
当然可以。您可以简单地使用data[1]
来访问第二个元素。
但是,如果这样做,则不应返回data
因为sw8
函数中的自动变量,因此其生存期结束,并在函数结束时自动销毁。因此,返回指向它的指针始终返回无效指针。
相关文章:
- 在 const 函数中通过引用和指针返回之间的区别
- 指向 std::unrodered_map 中元素的指针返回'Read access violation'
- 为什么要为指针返回类型返回一系列字符?
- Visual C 运行时:Malloc将指针返回到已经使用的内存(包含实际字符串)
- 将原始指针返回到智能指针
- 从函数中的指针返回对象,例如链接列表
- 将指针返回使用New创建的数组数组
- 查找并将指针返回向量中的对象
- 函数可以将指针返回其自己的类型
- 指针返回值的地址
- 为什么静态指针返回函数中有一个"静态"键?
- 从弱指针返回类型返回共享指针
- 如何将C++引用和指针返回转换为 C++/CLR
- 从指针返回对象时出现意外的析构函数调用
- 阵列指针返回垃圾
- (C )当在同一类中调用时,污点指针返回正确的值,而从MAIN调用时为0
- C 从指针返回到成员功能
- 在构造函数以外的任何其他位置访问相机时,我的相机指针返回 null
- 从取消引用的指针返回原始指针
- 指针返回