#include <string.h>
#include <stdlib.h>
#include <stdio.h>
void test(char** array){
array = malloc(sizeof(char*));
array[0] = malloc(255 * sizeof(char));
strcpy(array[0], "Hello world!");
}
int main(){
char** array;
test(array);
puts(array[0]);
return 0;
}
Можете подсказать причину?
void test(char** array){ array = malloc(sizeof(char*)); array[0] = malloc(255 * sizeof(char)); strcpy(array[0], "Hello world!"); }
void test(char*** array){
*array = malloc(sizeof(char*));
(*array)[0] = malloc(255 * sizeof(char));
strcpy((*array)[0], "Hello world!");
}
char** array; test(array);
char** array;
test(&array);