С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Указатели и строки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Секундомер http://www.cyberforum.ru/cpp-beginners/thread1030313.html
Пытаюсь написать секундомер, только вот не знаю как остановить его по нажатию клавиши и вернуть текущий результат: #include <iostream> #include <windows.h> #include <time.h> using namespace...
C++ Простые числа из файла в массив и обратно Есть файл, в котором находится ряд чисел (text.txt). Эти числа нужно перенести в массив, найти среди них простые числа, а затем вывести их обратно в файл. Первую часть я сделала (то есть, перенесла... http://www.cyberforum.ru/cpp-beginners/thread1030300.html
C++ Дан двумерный массив. Определить количество различных элементов в нем
Помогите плиз решить задачку. Дан двумерный массив. Определить количество различных элементов в нем.
C++ найти элемент со значение введенным пользователем с клавиатуры и количество таких элементов
В одномерном массиве из 10 целых чисел найти элемент со значение введенным пользователем с клавиатуры и количество таких элементов (массив заполнить с клавиатуры, с помощью датчика случайных чисел в...
C++ По карте дорог необходимо определить самый удалённый город. http://www.cyberforum.ru/cpp-beginners/thread1030286.html
По заданной карте дорог необходимо определить самый удалённый город от заданного среди всех доступных из этого заданного по кратчайшему пути. Формат входного файла: В первой строке входного...
C++ память Постепенно в программе создаю динамические массивы, но выскакивает ошибка. unsigned char *buf_1 = new unsigned char; unsigned char *maska = new unsigned char; unsigned char *file = new unsigned... подробнее

Показать сообщение отдельно
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245

Указатели и строки - C++

05.12.2013, 22:50. Просмотров 344. Ответов 8
Метки (Все метки)

Здравствуйте.
Учу указатели (и строки); появилась куча неясных мне моментов, поэтому прошу разъяснения.
1)
const char* obj {"nebula"};
cout << obj;

Почему здесь мы получим строку, а не адрес, как в случае бы с типом int* ? Я понимаю, что строка nebula как-бы являет собою (не понимаю как) адрес первого элемента, то бишь - 'n', но как компилятор понимает, что это строка?

2)
Совсем запутался. string {"nebula"} и cout << "nebula" : здесь аргументы инициализатора и оператора одного типа? А в случае string {"nebula"} и char[] {'n','e','b','u','l','a','\0'}?

3)
В листинге ниже неправильно считает количество элементов массива...
char ar[20] {"abcdef"};
char* ptr {ar};
int s {0};
while (*(ptr+s) != '\0')
cout << ar[s] << ++s;


При выполнении появляется такая штука, как "Ошибка сегментирования (core dumped)".

Помогите, плз!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.