二维字符串指针

时间:2016-10-12 08:45:40

标签: c c-strings

在调试这个程序的过程中,我发现目标后面的二维无法添加NULL。

void chack_array(char **array)
{
    while(array != NULL){
        printf("%s\n",(* array));
        array ++;
    }
}

main(){
    char *dirp_array[256];
    list_dir(dirp_array);
    chack_array(dirp_array);
}

修改后,我想得到我定义的二维。 所以,我在这里定义一个函数。

{{1}}

但我核心转储

1 个答案:

答案 0 :(得分:1)

这一行:

dirp_array = NULL;

应该是

*dirp_array = NULL;

您的第一个版本不会更改调用者提供的数组内容。它只是说dirp_array指针现在是NULL,即没有指向任何数组。您希望将NULL存储到调用者数组中的元素,然后通过上面的第二个版本执行此操作,取消引用指针。