sizeof (char)
для определения всегда 1, поэтому вам не нужно его писать.
В C malloc
возвращает void *
, так что набор типов не нужен (даже вреден, поскольку он подавляет полезные предупреждения, не забудьте #include <stdlib.h>
или #include <memory.h>
).
char* c[30];
объявляет массив из 30 char *
, вероятно, не то, что вы имели в виду.
Если вы хотели получить массив из 30 char
, вы должны были объявить
char c[30];
и забудьте о malloc.
Если вам нужен указатель на массив char
, длина которого равна 30, то вы должны написать:
char *c;
c = malloc(30);