char[]类型转换问题
- C/C++ code
class CCollectAlarmMsg{public: uint32_t m_uiAlarmColor ; char m_szTitleDesc[] ;};CCollectAlarmMsg *pAlarmMsg=(CCollectAlarmMsg *)malloc(sizeof(CCollectAlarmMsg));1、直接使用strcpy给m_szTitleDesc赋值,会不会造成内存脏读;
2、若使用malloc给m_szTitleDesc分配内存,怎么强制转换类型?
pAlarmMsg->m_szTitleDesc=(char *)malloc(128);
[解决办法]
[解决办法]
1、直接使用strcpy给m_szTitleDesc赋值,会不会造成内存脏读;
肯定会有内存泄漏
2、若使用malloc给m_szTitleDesc分配内存,怎么强制转换类型?
注意数组与指针是有区别的
像你的,改为指针就可以了
class CCollectAlarmMsg
{
public:
uint32_t m_uiAlarmColor ;
char * m_szTitleDesc ;
};
...
pAlarmMsg->m_szTitleDesc=(char *)malloc(128);
[解决办法]