Я просто проходил определенные вопросы для интервью. У меня есть проблема, связанная со структурой, я не понимаю, что происходит с выводом. Пожалуйста, если кто-то может объяснить причину.
Когда используется символьный указатель в структуре, такой как
#include <stdio.h>
struct name {
char *array;
}variable;
int main( int argc, char * argv[] ){
variable.array="hello";
printf( "%s\n", variable.array );
}
Вывод выводится hello
, но при изменении структурной переменной на
struct name {
char array[10];
}variable;
Компилятор выдает ошибку «несовместимые типы в присваивании» на
variable.array="hello";
Я действительно смущен тем, где я упускаю суть. Почему это показывает ошибку как проблему назначения? Пожалуйста поправьте меня
Спасибо