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

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

Войти
Регистрация
Восстановить пароль
 
maxNTF
Сообщений: n/a
#1

указатели и строки? - C++

04.02.2009, 15:37. Просмотров 769. Ответов 8
Метки нет (Все метки)

Люди помогите понять, ни как не дается это страшное слово указатель.
Так в общем немного ясно, не понятно вот что:
Считается что эти два выражения идентичны, ТАК?
Код
char * st1="string1";
char st2[8]="string2";
При этом я свободно могу вытянуть любое значения (изменить и т.д.) из st2, к примеру так
st2[6]='3';

А вот как такое же проделать с седьмым символом st1?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2009, 15:37     указатели и строки?
Посмотрите здесь:

Указатели на строки - C++
Есть следующий код: class Strings // класс с указателями на строки (размер которого равен 8) { public: char* str1; ...

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YurA_280784
Заблокирован
04.02.2009, 16:12     указатели и строки? #2
C++
1
2
3
for(int i = 0; i < strlen(str1); i++)
    if(i == 7 - 1)
         str1[i] = 'SomeSymbol';
Ensase
Флудер
191 / 29 / 5
Регистрация: 23.03.2007
Сообщений: 335
04.02.2009, 16:33     указатели и строки? #3
Цитата Сообщение от YurA_280784 Посмотреть сообщение
C++
1
2
3
for(int i = 0; i < strlen(str1); i++)
    if(i == 7 - 1)
         str1[i] = 'SomeSymbol';
а нельзя вот так:
str[6] = 'SomeSymbol';
ISergey
Maniac
Эксперт С++
1372 / 883 / 52
Регистрация: 02.01.2009
Сообщений: 2,652
Записей в блоге: 1
04.02.2009, 16:58     указатели и строки? #4
YurA_280784, и твой компелятор на этот код
C++
1
str1[i] = 'SomeSymbol';
не ругатся????
Zaratystra
0 / 0 / 0
Регистрация: 04.02.2009
Сообщений: 5
04.02.2009, 17:08     указатели и строки? #5
*st1 указывает на нулевой элемент, т.е. "s".
Чтобы указать на следующий элемент нужно записать *(st1+1) и т.д.
*(st1+i)
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
04.02.2009, 17:29     указатели и строки? #6
Цитата Сообщение от YurA_280784 Посмотреть сообщение
C++
1
2
3
for(int i = 0; i < strlen(str1); i++)
    if(i == 7 - 1)
         str1[i] = 'SomeSymbol';
Дурной тон программирования
YurA_280784
Заблокирован
04.02.2009, 17:46     указатели и строки? #7
Короче привожу мой код, я его слегонца трансформировал.Кидаю рабочий проект и скриншот...Кстати ISergey научись ставить Release конфигурацию, а потом пиши
Миниатюры
указатели и строки?  
Вложения
Тип файла: rar tst6.rar (18.7 Кб, 18 просмотров)
YurA_280784
Заблокирован
04.02.2009, 17:47     указатели и строки? #8
Лучше б не над строками пыхтели, а реально ответили на мою просьбочку в разделе Вижуал....
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2009, 00:17     указатели и строки?
Еще ссылки по теме:

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

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

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

Задания на строки и указатели - C++
Помогите с заданиями пожалуйста.. 1.4.1. Длина строки В файле str.c напишите функцию вычисления длины строки (str_lenght). Саму...


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

Или воспользуйтесь поиском по форуму:
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
05.02.2009, 00:17     указатели и строки? #9
Цитата Сообщение от maxNTF Посмотреть сообщение
Люди помогите понять, ни как не дается это страшное слово указатель.
Так в общем немного ясно, не понятно вот что:
Считается что эти два выражения идентичны, ТАК?

Код
char * st1="string1";
char st2[8]="string2";
При этом я свободно могу вытянуть любое значения (изменить и т.д.) из st2, к примеру так
st2[6]='3';

А вот как такое же проделать с седьмым символом st1?
Код
char * st1 = "string1";
string1 и нуль-символ записываются в read-only область, потом адрес символа s из этой read-only области присваивается st1 (адрес - это число)

Код
char st2[8] = "string2";
создаётся массив элементов, каждый размера char, в массив копируются символы string2 и нуль-символ

запомнил, что если видишь что-то вроде "string1" без имени, это значит что оно записано в неменяемую область памяти ? и будет существовать до конца программы в таком виде

помнишь я говорил про нуль-символ который записывается после string1 ? последнее значение выводится правильно благодаря ему

Код
 
#include <stdio.h>

/* читает строковую константу */
main()
{
    char *s = "some_ok";
    
    printf("%c%c\n", s[5], s[6]);
    printf("%c%c\n", *(s+5), *(s+6));
    printf("%s\n", s+5);
    return 0;
}
Yandex
Объявления
05.02.2009, 00:17     указатели и строки?
Ответ Создать тему
Опции темы

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