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

Парочка примитивных неясностей о массивах и C-strings - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задача из книги Дейтела "Ромб" http://www.cyberforum.ru/cpp-beginners/thread1091719.html
В задаче использовать управляющие структуры(лог.операции, циклы) можно массивы. Остального я пока не знаю))
C++ Задача из книги Дейтела "Квадрат" Здравствуйте,В задаче использовать управляющие структуры(лог.операции, циклы) можно массивы. Остального я пока не знаю)) http://www.cyberforum.ru/cpp-beginners/thread1091718.html
C++ Задача из книги Дейтела "Шахматная доска"
В задаче использовать управляющие структуры(лог.операции, циклы) можно массивы. Остального я пока не знаю))
Найти среднее арифмитическое матрицы C++
Найти среднее арифмитическое положительных элементов каждого столбца матрицы A(n,m),заданой целыми числами .
C++ Работа с классом http://www.cyberforum.ru/cpp-beginners/thread1091699.html
Работа с классом, карточку отдела кадров(обеспечить вывод на экран в удобном виде, печать сообщения при достижении пенсионного возраста). Помогите пожалуйста,я новичок ещё только осваиваю классы. Подскажите,в чём ошибка?:scratch: #include <iostream> #include <string> using namespace std; class card { public:
C++ Кто глючит, я или компайлер? Visual Studio 2008 (9.0) class A {int a;}; class B : public A {int b;}; class C : public A {int c;}; void f() { int k = 1; A* a = k ? new B : new C; } Результат компиляции: подробнее

Показать сообщение отдельно
Armahem
0 / 0 / 0
Регистрация: 07.02.2014
Сообщений: 7

Парочка примитивных неясностей о массивах и C-strings - C++

07.02.2014, 22:32. Просмотров 207. Ответов 1
Метки (Все метки)

Когда я пишу:
C++
1
char * arr = new char[7];
Выделяется память размером 7 байт под массив с элементами arr[0] ... arr[6] и обращение к arr[7] приведет к ошибке?

С-string это массив из элементов типа char заканчивающийся нулём. Если я хочу записать ANSI строку
длинной 7 символов, достаточно сделать вот так:
C++
1
memcpy(arr, "example", 7);
или мне нужно ли создавать дополнительный байт по нулевой символ:
C++
1
2
3
4
delete [] arr;
char * arr = new char[8];
memcpy(arr, "example", 7);
arr[7] = '\0';
?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru