Я использую GDB для прохождения моего кода, и каждый раз, когда вводится цикл while, значения в NameList [] изменяются. Как я установил NameList [0] в chr2, но когда я возвращаюсь через цикл while в gdb, я говорю x/s NameList [0] и теперь он установлен на новое значение chr2! Как это может случиться? Я знаю, что меняю указатель, но не должен ли массив хранить старое значение указателя и не разрешено его обновлять?Coding in C, Почему меняются значения массива?
while (fgets(thisline, length, input) != NULL) {
chr = strtok(Line, " ");
if(chr != NULL) {
chr2 = strtok(chr, " ")
int j = 0;
while(NameList[j] != NULL) {
j++;
}
NameList[j] = chr2;
}
}
Большое вам спасибо, что сработало! – user3002440
@ user3002440 Но не забудьте 'free()' после использования. – glglgl