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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
cossack5
54 / 48 / 1
Регистрация: 02.08.2012
Сообщений: 127
#1

Указатели на строки - C++

09.08.2012, 17:56. Просмотров 369. Ответов 2
Метки нет (Все метки)

Есть следующий код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Strings // класс с указателями на строки (размер которого равен 8) 
{
public:
    char* str1;
    char* str2;
   Strings()
   {
        memset(this,0,sizeof *this);
  };
 
};
Strings MS; // объект класса
char strings[4][20]; // сами строки
strcpy_s(strings[0],"123456789");
strcpy_s(strings[1],"abcdetfff");
MS.str1=strings[0]; // присваиваем указатели
MS.str2=strings[1];
// теперь нужно вывести строки на экран по их указателям
for (int i=0;i<2;i++){
   char* ps=*(&MS.str1+i*4); // адрес строки, добавляя смещение
  printf("addr1: %lld\n",(long long)ps);
   printf("address of string : %lld, address of pointer: %lld, %d : %s\n",(long long)strings[i],(long long)&MS.adx1+4*i,i,ps);
    }
Вывод получается такой:
первая итерация:
Код
addr1: 1637736
address of string : 1637736, address of pointer : 1637432, 0: 123456789
вторая:
Код
addr1: 48
Дальше понятное дело, происходит необработанное исключение, т.к. программа пытается вывести строку по этому адресу и отладчик отправяет меня в файл output.c
Никак не могу понять, в чем может быть дело. Может кто подскажет?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2012, 17:56     Указатели на строки
Посмотрите здесь:

Указатели и строки - C++
Здравствуйте. Учу указатели (и строки); появилась куча неясных мне моментов, поэтому прошу разъяснения. 1) const char* obj...

Указатели и строки - C++
Здравствуйте! Помогите решить такую задачу Найти в строке последовательности , состоящие из одного повтопяющегося символа, и заменить его...

Строки и указатели - C++
Выполнить задание двумя способами используя индексы и используя указатели при работе со строками. Удалить в строке все буквы “b”,...

Строки и указатели в C++ - C++
Проверить правильность расположения в тексте круглых скобок (количество открывающихся и закрывающихся скобок должно совпадать). Пользуясь...

Строки и указатели с++ - C++
1. С клавиатуры вводится полный путь к файлу. Напишите программу, которая выделяет из этой строки имя файла Пример: ...

Указатели на строки - C++
Доброго всем времени суток! Не понимаю почему указатели на строки возвращают всю строку char может содержать только один символ в...

указатели и строки? - C++
Люди помогите понять, ни как не дается это страшное слово указатель. Так в общем немного ясно, не понятно вот что: Считается что эти...

Указатели и строки - C++
1. В коде есть такой кусок: sc = stack.pop(); printf(&quot;#%s %d#&quot;, &amp;sc, sc); sc имеет тип unsigned int, понятно что там хранится...

Строки и указатели........ - C++
Помогите написать прогу с помощью которой - вводится имя,фамилия,отчество а вывоится фамилия и инициалы то есть - Пушкин Александр...

Строки, указатели и адреса - C++
есть код { char *str=&quot;Welcome&quot;; cout&lt;&lt;str&lt;&lt;&quot; &quot;&lt;&lt;(void *)str&lt;&lt;&quot; &quot;&lt;&lt;&amp;str&lt;&lt;endl; for (int i=0;i&lt;8;i++) { cout&lt;&lt;str&lt;&lt;&quot; /...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
09.08.2012, 18:07     Указатели на строки #2
А ты чего хотел? У тебя строки нулевая и первая, а ты обращаешься к нулевой и четвёртой.
cossack5
54 / 48 / 1
Регистрация: 02.08.2012
Сообщений: 127
09.08.2012, 18:23  [ТС]     Указатели на строки #3
Как-то незаметил, что у меня под носом. Спасибо, что указали. Можно закрыть.
Ответ Создать тему
Опции темы

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