char***怎么动态使用
时间: 2023-12-02 10:05:11 浏览: 68
C++中char*转换为LPCWSTR的解决方案
5星 · 资源好评率100%
char***是一个指向指针的指针的指针,可以用于动态分配内存和创建指向指针的指针数组。动态使用char***需要先分配内存,然后使用循环为每个指针分配内存,最后将指针存储在char***数组中。以下是一个动态使用char***的示例代码:
```c
// 分配内存
char*** ptr = (char***)malloc(sizeof(char**) * 3);
for (int i = 0; i < 3; i++) {
ptr[i] = (char**)malloc(sizeof(char*) * 2);
for (int j = 0; j < 2; j++) {
ptr[i][j] = (char*)malloc(sizeof(char) * 10);
}
}
// 存储数据
strcpy(ptr[0][0], "hello");
strcpy(ptr[0][1], "world");
strcpy(ptr[1][0], "foo");
strcpy(ptr[1][1], "bar");
strcpy(ptr[2][0], "baz");
strcpy(ptr[2][1], "qux");
// 访问数据
printf("%s\n", ptr[0][0]); // 输出 hello
printf("%s\n", ptr[1][1]); // 输出 bar
// 释放内存
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
free(ptr[i][j]);
}
free(ptr[i]);
}
free(ptr);
```
阅读全文