Заполнение структуры, расположенной в одной функции, в другой функции - C (СИ)
Формулировка задачи:
Здравствуйте. В программе на СИ необходимо осуществить что то подобное. нужна помощь.
int main() {struct s{int a, b} /*некая абстрактная структура*/ return 0;} void f(){/*в этой функции необходимо осуществить заполнение структуры, расположенной в main*/}
Решение задачи: «Заполнение структуры, расположенной в одной функции, в другой функции»
textual
include
include
Листинг программы
//main.c #include "file.h" int main() { struct s s1; f(&s1); return 0; }
Объяснение кода листинга программы
//file.h
ifndef FILE_H
define FILE_H
struct s { int a; char b; }; void f(struct s*);
endif
//file.c
include file.h
void f(struct s* s) { s->a = 5; s->b = 'a'; } //main.c
include file.h
int main() { struct s s1; f(&s1); return 0; } В этом коде:
- Объявлена структура
s
в файлеfile.h
. - В функции
f
указатель на структуруs
передается как аргумент. - Внутри функции
f
поля структурыs
инициализируются значениями5
и'a'
. - В функции
main
создается экземпляр структурыs
с именемs1
. - Функция
f
вызывается с аргументом&s1
, при этом в функцию передается указатель наs1
. - В функции
main
возвращается0
, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д