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

Что такое ' ' (апострофы) - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.95
jerdeks
1 / 1 / 0
Регистрация: 19.04.2009
Сообщений: 13
16.08.2011, 19:52     Что такое ' ' (апострофы) #1
Да, я знаю что
C++
1
char c = '1'; // == 48
А вот что такое '1234' и почему нельзя '12345'?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,047
17.08.2011, 20:15     Что такое ' ' (апострофы) #21
Цитата Сообщение от taras atavin Посмотреть сообщение
так как 1 и 2 - два символа, а в апостроф заключается один, значением будет его код (потому '1' и равно 48, а не 1). А двум символам 1 и 2 сразу код не присвоен. Кстати, дефолтная разрядность 1 байт, 1234 туда тоже не влезет.
посмотри на моем скриншоте
если лень могу расписать
int mm='1234'
отладчик показал
mm=0x31323334
что логично
на платформе 0x386(intel)
int равен 4 байтам char одному
для чего это нужно??? например для кодировки
C++
1
2
3
4
5
char buf[]="asdfbcd";
int k='1234';
int * pbuf=(int*)&buf[0];
for(int i=0; i<sizeof(buf);i++)
  pbuf^=k
сразу предупреждаю пример не рабочий(просто идея)
во первых никто не даст писать в статику
во вторых выход за пределы массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
17.08.2011, 20:21     Что такое ' ' (апострофы) #22
Цитата Сообщение от ValeryS Посмотреть сообщение
во первых никто не даст писать в статику
С чего бы?

Цитата Сообщение от ValeryS Посмотреть сообщение
во вторых выход за пределы массива
Ну это да. Хотя первые 2 итерации за границу не выходят. Но вторая уже убивает нуль-терминатор. Впрочем, в случае кодирования/шифрования 0 редко когда может считаться признаком конц строки.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2011, 21:13     Что такое ' ' (апострофы)
Еще ссылки по теме:

В этой части кода происходит объявление функций? Что такое void? Что в скобках? C++
C++ Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?
Кто-нибудь может подробно объяснить, что такое allocators, зачем это и что с ними делать? Нигде не нашёл инфы C++

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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6376 / 4842 / 442
Регистрация: 14.02.2011
Сообщений: 16,047
17.08.2011, 21:13     Что такое ' ' (апострофы) #23
Цитата Сообщение от ValeryS Посмотреть сообщение
for(int i=0; i<sizeof(buf);i++)
косячек здесь
по правильному
C++
1
for(int i=0; i<sizeof(buf)/sizeof(int);i++)
Yandex
Объявления
17.08.2011, 21:13     Что такое ' ' (апострофы)
Ответ Создать тему
Опции темы

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