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

Что такое char* ? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 129, средняя оценка - 4.71
iPhonia
2 / 2 / 0
Регистрация: 11.03.2012
Сообщений: 48
07.08.2012, 15:32     Что такое char* ? #1
C++
1
char* szString = "Randy";
Объясните, чем в данном случае является szString?
Если это указатель, то почему ему напрямую можно присвоить значение? Ведь указатели с адресами работают.

Очень уж непонятна мне роль * в этом примере.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.08.2012, 15:32     Что такое char* ?
Посмотрите здесь:

C++ Код не работает,говорит,что не знает,что такое delay(100).в чём проблема?как сделать,чтоб программа заработала?
Что такое перегрузка оператора? Что у меня в коде за ошибка? C++
что такое int argc, char *argv[] в качестве параметров главной (main) функции? C++
C++ Что такое #, include, что это означает
В этой части кода происходит объявление функций? Что такое void? Что в скобках? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
07.08.2012, 15:36     Что такое char* ? #2
Здесь это указатель на char, о чём и говорит символ * после имени типа. Задание его с помощью строки лишь один из способов инициализации этого указателя. Он будет указывать на ячейку памяти, где начинается строка "Randy".
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
07.08.2012, 15:37     Что такое char* ? #3
Цитата Сообщение от iPhonia Посмотреть сообщение
Ведь указатели с адресами работают
Вот адрес "Randy" ты ему и присваиваешь.
The_Immortal
1548 / 484 / 8
Регистрация: 04.04.2009
Сообщений: 1,891
07.08.2012, 15:39     Что такое char* ? #4
iPhonia, в данном случае "Randy" является строковым литералом, который сохраняется в в специальной таблице строк, а вот переменной szString присваивается указатель на соответствующую строку в этой таблице строк (адрес на первый элемент строки - как и подобает указателю).
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
07.08.2012, 15:49     Что такое char* ? #5
Посмотри в этом блоге. Там подробно про это расписано
http://www.cyberforum.ru/blogs/18334/blog97.html
iPhonia
2 / 2 / 0
Регистрация: 11.03.2012
Сообщений: 48
07.08.2012, 16:05  [ТС]     Что такое char* ? #6
Разобрался, всем спасибо!
p.s. Люблю этот форум за оперативность
Yandex
Объявления
07.08.2012, 16:05     Что такое char* ?
Ответ Создать тему
Опции темы

Текущее время: 15:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru