Массив char в структуре - C (СИ)
Формулировка задачи:
Привет, разбираюсь вот со структурами. Уперся в заполнение массивы char, вложенные в структуру.
А именно не знаю как правильно сей массив заполнить. В первом случае как массив указателей мне удалось заполнить его следующим образом:
Назревает вопрос- как заполнить массив указателей, используя скажем gets(new1.a) или fgets(new1.a,N, stdin). И вообще, как видит компилятор процесс заполнения массива указателей?
Вопрос 2) если у меня обычный массив, такое заполнение уже не катит. Выбивает ошибку.
Возможно я не различаю разницы между обычной символьной строкой и символьной строкой, вложенной в структуру? И аналогичный вопрос, как видит компилятор заполнение указанной строки?
#include <stdio.h> #include <stdlib.h> #define N 10 struct str { char *a[N]; }; int main() { struct str new1; *new1.a="aloha"; printf("%s!\n", *new1.a); return 0; }
#include <stdio.h> #include <stdlib.h> #define N 10 struct str { char a[N]; }; int main() { struct str new1; new1.a="aloha"; printf("%s!\n", new1.a); return 0; }
Решение задачи: «Массив char в структуре»
textual
Листинг программы
strcpy (new1.a, "aloha");
Объяснение кода листинга программы
- В данном коде происходит копирование строки
aloha
в поле 'a' структуры 'new1'. - Функция 'strcpy' используется для копирования строки.
- Значение переменной 'new1.a' будет равно
aloha
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д