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

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

Войти
Регистрация
Восстановить пароль
 
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
#1

В чем разница между [] и * ? - C++

18.09.2013, 20:25. Просмотров 644. Ответов 7
Метки нет (Все метки)

Думал, что ни в чем, но когда попытался сделать так: (в файле 1)
C++
1
char lc[buf_size];
в файле 2:
C++
1
extern char* lc;
Компилятор ругаться не стал, однако при дебаге обнаружилось, что lc хоть и показывает на то, что надо, функции типа sprintf и fprintf, и прочих считают его за bad-pointer. Каким таким макаром?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2013, 20:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В чем разница между [] и * ? (C++):

В чем разница между X x; и X x()? - C++
Корректный ли этот ответ?

В чем разница между С и С++ - C++
Возник вопрос в чем жи разница между С и С++ кроме того, что в С++ есть классы а в С их нету ?

В чем разница между malloc и new? - C++
в чем разница? что лучше использовать?

В чем разница между new и malloc()? - C++
Всем доброго дня ! Начал читать книгу Пахомов Б. "C/C++ и MS Visual C++ 2008 для начинающих" До этого прочитал С++ за 21 день. ...

В чем разница между Рекурсией и Итерацией? - C++
Рекурсия позволяет сэкономить время но требует больше памяти, а циклы длятся дольше рекурсии но при этом занимают меньше памяти? Я...

В чем разница между Double и Float? - C++
Хмм? :(

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
18.09.2013, 20:59 #2
Цитата Сообщение от nexen Посмотреть сообщение
В чем разница между [] и * ?
первое - индексация - второе указатель на элемент
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
19.09.2013, 12:54  [ТС] #3
Van111, а сообщение в шапке вы читали?
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
19.09.2013, 13:17 #4
В первом случае объявляется статический массив на чар, во втором - указатель.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
19.09.2013, 13:37  [ТС] #5
kazak, так а почему нельзя привести char[] к char*?
SatanaXIII
Супер-модератор
Эксперт С++
5609 / 2643 / 244
Регистрация: 01.11.2011
Сообщений: 6,502
Завершенные тесты: 1
19.09.2013, 13:47 #6
nexen, читали: Строковые литералы в Си/Си++ ?
Croessmah
Модератор
Эксперт CЭксперт С++
13134 / 7397 / 828
Регистрация: 27.09.2012
Сообщений: 18,227
Записей в блоге: 3
Завершенные тесты: 1
19.09.2013, 16:00 #7
nexen, потому что массив это не просто указатель.
По сути вы делаете подобное:
C++
1
2
3
int x;
//...
extern double x;
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.09.2013, 16:12 #8
Цитата Сообщение от nexen Посмотреть сообщение
а почему нельзя привести char[] к char*?
В каких-то случаях можно, в каких-то нельзя. Так же приводится:
C++
1
2
char arr[5];
char* lc = arr;
При передаче массива в функцию, тоже приводится.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2013, 16:12
Привет! Вот еще темы с ответами:

В чем разница между random и randomize? - C++
в чем разница между random и randomize??

В чем разница между вектором и массивом - C++
Я учу язык С/С++ и хотел у вас спросить в чем разница между вектором и массивом ? кроме тогдо что вектор создается vector<int> m; а массив...

В чем разница между f.read(),f.write() и f<<., f>>.? - C++
В чем разница между f.read(),f.write() и f&lt;&lt;..., f&gt;&gt;...?

В чем разница между const и constexpr? - C++
Когда стоит применять constexpr? В чём его отличие от const? Если можно конкретные примеры в их различиях. Например, constexpr int m =...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.09.2013, 16:12
Ответ Создать тему
Опции темы

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