Форум программистов, компьютерный форум CyberForum.ru

Массив символьных указателей - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Объектно-ориентированный C++ и другие языки http://www.cyberforum.ru/cpp-beginners/thread428993.html
Один мой знакомый посоветовал мне, для того чтобы лучше разобраться с объектно-ориентированной и библиотечно-шаблонной кухней C++ сперва предварительно лучше изучить такой язык как Visual Basic или C#. Верно ли это? То есть как лучше изучать C++ на голяк или лучше предварительно изучить чего-нибудь попроще?
C++ Для чего именно и как исползуется dynamic_cast(обясните "ЯЗИКОМ ЧЕЛОВЕКА") привет ребята ктото может привести хороший пример о dynamic_cast ?(об осталних я выучил).. Именно для чего он исползуется?(пожолуйсто обясните "ЯЗИКОМ ЧЕЛОВЕКА") Спасибо заранее.. http://www.cyberforum.ru/cpp-beginners/thread428980.html
C++ Метод секущих (блок-схема)
подскажите пожалуйста, правильно ли я составил блок-схему по методу секущих Скрин во вложении.. Вот листинг: #include <conio.h> #include <iostream> using namespace std; #include <math.h> const double E=2.718281828459; //функция double func(double x)
C++ Ошибка при компиляции
template <class Data> List <Data>::~List() { if (pbeg !=0) { Node *pv = pbeg; while (pv) { pv=pv->next; delete pbeg; pbeg=pv;
C++ Смена иконки *.ехе при компиляции http://www.cyberforum.ru/cpp-beginners/thread428955.html
Как можно в visual studio сменить иконку *.ехе при компиляции программы?
C++ Использование собственного класса строк Здравствуйте, уважаемые господа. Есть реализация собственного класса строк: class MyString { private: size_t length; char *str; подробнее

Показать сообщение отдельно
JohnyWalker
163 / 42 / 1
Регистрация: 15.11.2010
Сообщений: 332
16.01.2012, 06:11     Массив символьных указателей
Цитата Сообщение от alkagolik Посмотреть сообщение
всё у ТС в этом куске корректно. Нету прямой необходимости локать память из кучи.
Есть такая необходимость. Представьте, что число строк фиксировано, но велико. Что, для каждой создавать в программе (в исходном тексте) отдельную переменную, со своим именем? Другой вариант, когда количество строк само по себе величина переменная, тогда как прикажете быть?

А главное посмотрите, с чего ТС начал свой вопрос.
Он привел пример исходника с ошибкой, вот он
C++
1
2
3
4
5
6
7
 
char str[10];
char *s[4];
 
for(int i = 0; i <= 3; i++){
    cin >> str;
    s[i] = str;}
и вот
А вообще с самого начала, у меня была идея считывать сразу в указатели.
Код C++
C++
1
2
3
4
char *s[4];
 
for(int i = 0; i <= 3; i++)
     cin >> s[i];
Последнее - это цель, как ему хотелось это все реализовать.
Я ему лишь помог решить его задачу. Если бы у ТС такой задачи не стояло, он бы и не стал задавать вопрос на форуме.

Так что уважаемый alkogolik Вы, отвечая на вопрос, все-таки исходите не из своего видения программирования, а из того, чего хотел добиться задававший вопрос человек и в чем он испытал трудность. А так, конечно, в такой несложной задаче оба варианта приемлемы, оба решают задачу, я и не спорю.

Добавлено через 15 минут
Да, и кстати, если не нравится динамически выделять память из кучи, можно и такой вариант использовать.

Вместо char *s[4]; (массив указателей)
объявить s как двумерный массив (массив массивов)
char s[4][10];

И тогда кусок исходного текста, как его хотел видеть ТС
for(int i = 0; i <= 3; i++)
cin >> s[i];
заработает вполне корректно.

А именно
C++
1
2
char s[4][10];
for(int i=0; i<4; i++)   cin >> s[i];
Тоже вполне пригодный вариант, только обязательно проверьте его компилятором.

Если же объявлять s как
char *s[4];
то так нельзя, подойдут два предыдущих варианта (вариант ТС с объявленными строками str1,... str4 и мой с использованием кучи).
 
Текущее время: 03:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru