如何将值传递给双指针并将值打印出来,就好像它是一个多维数组一样? (C)
How to hand over values to a double-pointer and print the values out as if it would be an multidimensional array? (C)
我定义了以下无法更改的结构:
typedef struct _content {
int length;
char **lines;
} content_t;
我是这样在main函数中初始化的:
struct _content cont;
cont.length = 6;
cont.lines[cont.length-1][255];
我尝试为多维数组的某个元素赋值,同时
打印出值 - 这是行不通的:
cont.lines[1][1] = "A";
printf("\n\n%c", cont.lines[1][1]);
我在这里做错了什么?
非常感谢
int main(){
content_t cont;
cont.length = 6;
cont.lines=malloc(sizeof(char*)*cont.length);
for(int i=0;i<cont.length;i++) cont.lines[i]=malloc(255);
printf("\n\n%c", cont.lines[1][1]);
for(int i=0;i<cont.length;i++) free(cont.lines[i]);
free(cont.lines);
}
这才是正确的做法
我定义了以下无法更改的结构:
typedef struct _content {
int length;
char **lines;
} content_t;
我是这样在main函数中初始化的:
struct _content cont;
cont.length = 6;
cont.lines[cont.length-1][255];
我尝试为多维数组的某个元素赋值,同时 打印出值 - 这是行不通的:
cont.lines[1][1] = "A";
printf("\n\n%c", cont.lines[1][1]);
我在这里做错了什么? 非常感谢
int main(){
content_t cont;
cont.length = 6;
cont.lines=malloc(sizeof(char*)*cont.length);
for(int i=0;i<cont.length;i++) cont.lines[i]=malloc(255);
printf("\n\n%c", cont.lines[1][1]);
for(int i=0;i<cont.length;i++) free(cont.lines[i]);
free(cont.lines);
}
这才是正确的做法