【问题标题】:C - how to loop through a char**C - 如何循环一个字符**
【发布时间】:2021-02-04 16:42:33
【问题描述】:

我有一个字符串数组 char**。它有 4 个元素,当我尝试使用 sizeof(array) / sizeof(array[0]) 查找元素数量时,它总是返回 1,这导致 for 循环无法遍历 char** 中的所有元素。

char** departmentList;

departmentList = malloc(sizeof(*departmentList)); // allocate

getAllDepartments(departmentList, recordsPtr[0], numOfDepartments);

printf("%d",sizeof(departmentList)/sizeof(departmentList[0])); // return 1

printf("%d",sizeof(departmentList[0])); // return 8 

sizeof(departmentList) 也产生 8。

【问题讨论】:

标签: c


【解决方案1】:

您应该显式调用 malloc 以确保编译器知道每个“字符串”的长度。您只分配了指向另一个指针的指针...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    • 2013-10-14
    • 2020-01-10
    • 2014-09-25
    • 2020-02-20
    • 1970-01-01
    • 2018-03-06
    相关资源
    最近更新 更多