小编Sat*_*ngh的帖子

用0xDD或0xCC或0xFD或0xCD检查指针是否合适?

用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)

c c++ pointers unity-game-engine

0
推荐指数
1
解决办法
237
查看次数

标签 统计

c ×1

c++ ×1

pointers ×1

unity-game-engine ×1