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

Проблема с указателями! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Отыскание прохода по лабиринту http://www.cyberforum.ru/cpp-beginners/thread359960.html
Здравствуйте! Очень нужна помощь. Описать класс, реализующий стек. Написать программу, использующую этот класс для отыскания прохода по лабиринту. Лабиринт представляется в виде матрицы, состоящей из квадратов. Каждый квадрат либо открыт, либо закрыт. Вход в закрытый квадрат запрещен. Если квадрат открыт, то вход в него возможен со стороны, но не с угла. Каждый квад* рат определяется...
C++ Хэштаблицы с квадратичным исследованием.Ошибка Здравствуйте, помогите исправить ошибку Ошибка Error error C2065: 'mas' : undeclared identifier #include "stdafx.h" #include <time.h> #include <conio.h> http://www.cyberforum.ru/cpp-beginners/thread359956.html
Как избежать постоянных инициализаций временного объекта? C++
Здравствуйте! Будет ли этот код class my::testBuffer{ //код А private: int data; public: testBuffer(const int& d ) : data(d) { } int getData()
C++ Определить, сколько амеб будет через 24 часа
помогите пожалуйста решить задачу на си одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить, сколько амеб будет через 3,6,9,...,24 часа. ответ:256
C++ Что значит 10e1 http://www.cyberforum.ru/cpp-beginners/thread359945.html
Здравствуйте, не подскажите что значит например 10e1, и вообще все числа с e, попробывал 10e1 = 100, это что-то типа степени? Заранее спасибо Добавлено через 33 секунды Все определил это значит на 10 в какой-то степени
C++ Блок-схема Помогите нарисать блок схему #include "stdafx.h" # include <stdio.h> # include <stdlib.h> # include <string.h> # include <conio.h> # define M 8 подробнее

Показать сообщение отдельно
Teravisor
30 / 30 / 3
Регистрация: 07.08.2011
Сообщений: 89
03.10.2011, 18:44     Проблема с указателями!
Описание функции:
void rec(int k, char str);
может всё таки указатель на начало строки надо передавать? так оно передаст один символ, и не факт, что он будет началом строки.
а следовательно
char *strstr = &str;
может вернуть вам указатель на одинокий чар в стеке... а не на вашу строку.

Подумайте в чем смысл строчек:
C++
1
2
char tmp;
char *tmptmp = &tmp;
Ответ:
Вы выделяете в стеке 1 чар, вы пишете в tmptmp указатель на этот один чар, и делаете strlen(tmptmp) от 1 чара, при том, что не факт, что будет вообще закрывающий \0

Мне кажется, вы плохо дружите с указателями, и не понимаете как они работают.

З.Ы. И да,
C++
1
2
3
char str1;
...
char *str1con = &str1;
str1 - не строка, это один символ и
C++
1
cin>>str1;
вам даст ровно 1 символ
 
Текущее время: 07:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru