Да Я прочитал эти два сообщения.Ошибка компиляции C Объект с переменным размером не может быть инициализирован символом char * ptr [buflen]
C compile error: "Variable-sized object may not be initialized" C error "variable-sized object may not be initialized"
Мой случай немного отличается, потому что я использую char * ptr[buflen]
. Это то, что я пробовал:
char *ptr[buflen] = {0}; //This gave me the variable sized object error.
char *ptr[buflen];
memset(ptr, 0, buflen*buflen*sizeof(char)); //I figured this would work with looking at the previous examples.
//This seemed to work but I am curious if I need to use free or malloc
after looking at the previous examples. I don't want this to seg fault later
in the program and have no clue what is causing it.
char *ptr[buflen];
memset(ptr, 0, sizeof ptr);
char *strings_line_tokens[503] = {0}; //Why does this work but the above won't work?
'MemSet (ptr, 0, buflen * sizeof (char *)) '. Хотя * технически * NULL-ptr не обязательно должен быть нулевым, поэтому вы должны * вероятно * использовать цикл для инициализации всех указателей. – EOF
'char * ptr [buflen] = {0}' должно быть 'char * ptr [buflen] = {NULL}' –
Что вы собираетесь хранить в 'ptr' Я думаю, вы смущены этим. –