Инициализация полей в структуре - C (СИ)
Формулировка задачи:
#include <iostream> #include <string.h> #include <stdio.h> #include <conio.h> #include <stdlib.h> using namespace std; struct data{ int d,m,y; }; struct man{ char *fio; data dr; char email[20]; char icq[20]; char **tel; }; void main(){ int n=5,m=1,l=13; man *bot=new man[n]; for(int i=0;i<n;i++){ bot[i].tel=new char*[m]; for(int j=0;j<m;j++) bot[i].tel[j]=new char[l]; } } bot[0]={"Popov Dmitriy Stanislavovich",{18,7,84},"removed@mail.ru","123456789","0931234567"}; } Пробывал так: /*char temp[]="Popov Dmitriy Stanislavovich"; int r=strlen(temp)+1; bot[0].fio=new char[r]; strcpy(bot[0].fio,temp);*/ Нехочет.
Решение задачи: «Инициализация полей в структуре»
textual
Листинг программы
// first example struct s{ char *name; char *family; char *otc; int year; }; struct s s1={"Kuzma","Prutkov","Ivanovich",1927}; struct s2[20]; // two example s2[0].name="Kuzma"; s2[0].family="Prutkov"; s2[0].otc="Ivanovich"; s2[0].year=1927;
Объяснение кода листинга программы
В этом коде определен тип структуры s с четырьмя полями: name (строка), family (строка), otc (строка), year (целое число). Затем создается экземпляр этой структуры s1 и инициализируется значениями Kuzma
, Prutkov
, Ivanovich
, 1927 соответственно.
Во втором примере создается массив структур s2[20], каждая структура инициализируется значениями Kuzma
, Prutkov
, Ivanovich
, 1927.
Список действий:
- Объявление структуры s с полями name (строка), family (строка), otc (строка), year (целое число).
- Инициализация экземпляра структуры s1 значениями
Kuzma
,Prutkov
,Ivanovich
, 1927. - Создание массива структур s2[20].
- Инициализация первого элемента массива s2 значениями
Kuzma
,Prutkov
,Ivanovich
, 1927.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д