【发布时间】:2017-11-14 11:21:17
【问题描述】:
我是 C 编程的新手,我尝试阅读类似的问题,但我无法解决我的特定问题。
我有这个小函数,它返回一个指向 g_Uart0RxBuf 数组的指针:
uint8_t* R_UART0_getBuffer()
{
uint8_t* pointer_to_buffer;
pointer_to_buffer = &g_Uart0RxBuf[0];
return pointer_to_buffer;
}
在调用函数中我这样做:
uint8_t* pointer; //Define pointer variable
pointer = R_UART0_getBuffer(); //Should return a pointer to an uint8_t
老实说,我不明白为什么我需要演员才能完成这项工作。不强制转换就不行吗?
非常感谢,我很抱歉提出这样一个菜鸟问题。
【问题讨论】:
-
g_Uart0RxBuf的类型是什么? -
你到底在哪里使用铸造?
-
类型转换一般用于不同数据类型之间交互/赋值的情况。因此,要回答您的问题,您需要提供“g_Uart0RxBuf”类型
-
该代码中没有初始化,只有一个赋值。
-
你为什么认为,你需要一个演员表?您是否收到了对我们隐藏的编译器消息?