|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.11.2015, 03:20 | #1 |
юзер как все
Участник клуба
Регистрация: 10.01.2012
Сообщений: 1,586
|
Разница между char ch[] = {'a','b','c'}; и char ch[] = "abc";
У меня простая программа выводит вот такие данные в консоль.
Есть два масива типа char, но инициализируются они по другому. Если если просто вывести как показано ниже, то резаультат не такой как ожидается. Но если перебирать все в цикле, то все верно выходит Код:
Вся программа, на всякий случай. g++ под Linux Debian i386 Код:
Вывод программы в консоль: Код:
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
|
25.11.2015, 04:58 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,289
|
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
25.11.2015, 06:07 | #3 |
юзер как все
Участник клуба
Регистрация: 10.01.2012
Сообщений: 1,586
|
Спасибо, все стало понятно.
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
|
25.11.2015, 11:48 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
arr_2 - это "канонический" способ инициализации массива, независимо от типа.
arr_1 - это исключение специально для строк, иначе задолбаетесь создавать строки. |
26.11.2015, 00:07 | #5 |
юзер как все
Участник клуба
Регистрация: 10.01.2012
Сообщений: 1,586
|
Понял. Спасибо.
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
|
26.11.2015, 18:57 | #6 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
кстати.
мало кто знает, что инициализация char c[3] = "abc"; валидна в С (инициализируем массив из 3-х байт), но не в С++ (компилятор ругнется, что не хватает места для строки). Так то!
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
26.11.2015, 21:53 | #7 |
Вредный кошак
Участник клуба
Регистрация: 14.10.2012
Сообщений: 1,159
|
Код:
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
char x[] = "\x00ABC"; получается 0x0abc | goluzov | Общие вопросы C/C++ | 2 | 25.10.2012 11:23 |
заместо 40 символов можно поставить чето типа char * x = x40 "f"; | goluzov | Общие вопросы C/C++ | 10 | 27.08.2012 07:18 |
Какова разница между "int** &a" и "int** a" в кач-ве параметра функции? | dollemika | Помощь студентам | 3 | 15.01.2012 17:16 |
отличие char* str ="..." от char ...[]="..." | StarWorm | Общие вопросы C/C++ | 2 | 20.11.2008 08:48 |
C++, препроцессор, как из "int" сделать "char"? | Максай | Помощь студентам | 3 | 05.09.2008 08:16 |