用0xDD或0xCC或0xFD检查指针是好的,还是0xCD如果它不是NULL?我正在为Unity3D编写插件,它支持C和C++的一些功能.所以这里不允许新的.
char** m_strArry;
void FreeChar(char* a_data)
{
free(a_data);
a_data = NULL;
}
void Test_PointerReference2()
{
m_strArry = (char**)malloc(3);
char* l_str1 = (char*)malloc(5);
strcpy_s(l_str1, 5, "Test");
char* l_str2 = (char*)malloc(7);
strcpy_s(l_str2, 7, "String");
char* l_str3 = (char*)malloc(5);
strcpy_s(l_str3, 5, "Here");
m_strArry[0] = l_str1;
m_strArry[1] = l_str2;
m_strArry[2] = l_str3;
FreeChar(l_str2);
for (int l_index = 0; l_index < 3; l_index++)
{
char* l_data = m_strArry[l_index]; //ISSUE: FOR l_index=1(OR l_str2) l_data is a valid address with garbage data.
if(l_data == NULL)
printf_s("\nIndex %d …Run Code Online (Sandbox Code Playgroud)