Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Vixna
0 / 0 / 1
Регистрация: 02.02.2017
Сообщений: 73
#1

Как создать указатель в структуре?

06.02.2017, 18:46. Просмотров 854. Ответов 3

Я хочу ввести имя, но под name надо выделить память? Если да то как и где(где менно прописывать выделение памяти)?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include <string>
 
using namespace std;
 
struct client {
    char *name;
};
 
int main()
{
    setlocale(LC_ALL,"Russian");
    srand(time(NULL));
 
    client a;   
 
   system("pause");
   return 0; 
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2017, 18:46
Ответы с готовыми решениями:

Как описать в структуре строку не через указатель
Есть структура struct InfoBuf { size_t Len; char Data; / ??? static...

Указатель в структуре
Как можно работать дальше с Abool как с массивом, обращаясь к нему как к члену...

Указатель на ф-цию в структуре
Привет всем, почему если объявить структуру в виде указателя и присвоить...

Указатель на функцию в структуре
Есть класс: class Foo { struct Request { void ( Foo :: *operation...

Как получить ссылку на указатель или указатель на указатель в массиве?
В процессе реализации сортировки пузырьком натолкнулся на такую проблему: как...

3
Notoriously
69 / 69 / 35
Регистрация: 06.07.2016
Сообщений: 414
06.02.2017, 18:51 #2
Цитата Сообщение от Vixna Посмотреть сообщение
надо выделить память
Например, конструктором. Не плодите новых тем , спрашивайте в старых.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
#include <string>
 
struct client 
{
    char *name;
    client() { name = new char[BUFSIZ]; } //We allocate memory using constructor
};
 
int main()
{
 
 
    client man;
 
    std::cout << "Input the name of the man : ";
    std::cin >> man.name;
 
    
 
    system("pause");
    return 0;
}
1
Байт
Эксперт C
17943 / 11933 / 2479
Регистрация: 24.12.2010
Сообщений: 24,043
06.02.2017, 18:53 #3
Лучший ответ Сообщение было отмечено Vixna как решение

Решение

C++
1
2
client a;
a.name = new char[N];  // Предварительно вычислив нужный объем памяти N
2
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7045 / 3346 / 452
Регистрация: 04.12.2011
Сообщений: 9,306
Записей в блоге: 5
07.02.2017, 10:21 #4
Vixna, лучше использовать string вместо char* или char name[80] потому как имена некоторых испанских знатных фамилий могут и тут не поместиться (Хуан Каролос де Кодо ди Программо... и т.д. и т.п. ). На всех не напасёшься. string - милое дело, оно хоть и синтетика, а всё же трикотаж. Сами размер найдут. Не сомневайтесь, это разумный выбор.
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2017, 10:21

Как создать указатель на счетчик цикла for?
Например, нужно создать указатель на счетчик і. Непонятно как это организовать...

Как создать копию объекта, зная его указатель?
Здравствуйте, существует следующая проблема. В своей программе я рисую график...

Как создать копию объекта на который указывает указатель
У меня есть указатель класс Student, который хранит информацию о студентах(имя,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru