![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
char res = "Yes";
Не работает char res[10] = "Yes"; работает криво) char* res = "Yes"; работает идеально) Как правильно и что даёт зведочка? |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 15.08.2009
Сообщений: 37
|
![]() |
![]() |
![]() |
![]() |
#3 | |||
Maniac
Форумчанин
Регистрация: 03.01.2009
Сообщений: 450
|
![]() Цитата:
Цитата:
Цитата:
тоесть res[0] = 'a';// получишь ошибку.. Можно так делать Код:
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
|
|||
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
ISergeyN, спасибо.
звёздочка разве означает константу??? да и если я пишу так: char res[] = "Yes"; а потом пытаюсь res[] = "No"; то она мне пишет ошибку. А если стоит звёздочка, то всё хорошо) LaptevVV, если бы у меня возник вопрос про string, я бы так и спросил! И книжки я читал, и читаю! |
![]() |
![]() |
![]() |
#5 | ||
Форумчанин
Регистрация: 11.08.2009
Сообщений: 433
|
![]() Цитата:
Цитата:
Везде далее нужно писать : Код:
|
||
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 15.08.2009
Сообщений: 37
|
![]() Цитата:
Весьма рекомендую исходную книжку по С Кернигана и Ричи. Мне кажется, с этого надо начинать. Там об указателях на символы достаточно хорошо написано. |
|
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
Нет... Если далее так писать, то выдаёт ошибку:
[BCC32 Error] main.cpp(165): E2277 Lvalue required 2) В чём разница между "char* res" и "char *res"? |
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 15.08.2009
Сообщений: 37
|
![]() Цитата:
char res[] = "abs"; - 4 байта Массиву присваивать новое значение нельзя. Поэтому res[] = "no"; является ошибкой. char *res = "abs"; - это объявление указателя на константу с инициализацией. С указателями работа - это отдельная БОЛЬШАЯ и СЛОЖНАЯ тема в С (и по наследству в С++). |
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 15.08.2009
Сообщений: 37
|
![]() |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 433
|
![]()
Действительно нельзя...
Код:
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Где объявлять классы в C++ builder 6.0 | Go6a | Помощь студентам | 1 | 06.07.2009 11:47 |
Как объявлять (или описывать) метод locate? | Andr_zdes | Помощь студентам | 6 | 21.05.2009 14:22 |
Строки. Как вывести часть строки? | Anfall | Общие вопросы Delphi | 7 | 26.02.2009 09:10 |
Как прономеровать строки | ASS84 | БД в Delphi | 11 | 30.07.2008 20:27 |
как вывести строку поочередно сначала первая буква первой строки потом первая буква второй строки и т.д. | vitalik007 | Помощь студентам | 1 | 25.09.2007 20:45 |