问题 开辟一段内存(不定长)
问题 开辟一段内存(不定长)
前一个字节存一个数据 后面的字节存一个结构体 请问怎么写
#include "stdafx.h "
typedef struct _MD_CALL_ENTRY_T
{
intcall_msg_id;
chararr[10];
}MD_CALL_ENTRY_T;
int main(int argc, char* argv[])
{
MD_CALL_ENTRY_T test= {0};
int* uart_data;
memset(test.arr,1,10);
test.call_msg_id = 1;
uart_data = (int*)malloc(100);
*uart_data = 1;
uart_data++;
//*uart_data = ??????;//怎么把这个test结构复制给uart_data的后半部分(一个字节之后的部分)
free(uart_data);
return 0;
}
[解决办法]
只能把地址存给他。
感觉楼主对指针的使用有些混乱
[解决办法]
memcpy
[解决办法]
不过前面不能有uart_data++了,那可是移动了4个字节
memcpy((char*)uart_data+1, )
[解决办法]
MD_CALL_ENTRY_T test= {0};
什么意思?
test=0; ???
为什么要加{}?????