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

Почему sizeof массива char равно 4? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать массив указателей с возможностью удаления любого элемента http://www.cyberforum.ru/cpp-beginners/thread1214813.html
Привет, друзья! Мне в одной программе нужно было создать массив указателей с возможностью удаления любого элемента, сделал с помощью vector. Схематично делал примерно так: vector<Base*>arr; Base* a = new Base; arr.push_back(a); a = new Base; arr.push_back(a); a = new Base; arr.push_back(a); ...
C++ Из двух стеков равной длины создать один стек, не удаляя исходные стеки (создавать копии элементов) Помогите переделать код под новое условие Старое условие: Из двух стеков равной длины создать один стек, не удаляя исходные стеки (создавать копии элементов). При создании нового стека элементы брать по-очереди по одному элементу из каждого стека. #include <windows.h> // SetConsoleOutputCP, SetConsoleCP #include <stdio.h> //printf , fgets #include <conio.h> // getch #include... http://www.cyberforum.ru/cpp-beginners/thread1214800.html
Приведение к void C++
Доброй ночи! Просматривая код некоторой программы, обнаружил конструкцию следующего вида: void function(char a, char *p) { (void) a; (void) p; } Что это значит? Никогда до этого момента такого не видел.
C++ Двумерный массив. Где ошибка?
Дана действительная квадратная матрица порядка N (N – нечетное), заполненная случайными числами, все элементы различны. Найти наибольший элемент среди стоящих на главной диагонали и поменять его местами с элементом, стоящим на пересечении этих диагоналей. # include <iostream> using namespace std; int main () { const int r=5,/*строки*/ c=5;//элементов в одной строке (столбцы) int mas ...
C++ Как в двумерном массиве найти число находящееся на пересечении двух диагоналей? http://www.cyberforum.ru/cpp-beginners/thread1214770.html
Помогите, пожалуйста! Нужно решить задачу: Дана действительная квадратная матрица порядка N (N – нечетное), заполненная случайными числами, все элементы различны. Найти наибольший элемент среди стоящих на главной диагонали и поменять его местами с элементом, стоящим на пересечении этих диагоналей. Встала проблема найти и запомнить число которое находиться на пересечении двух диагоналей!!!!...
C++ Итерационные алгоритмы Помогите пожалуйста с заданием нужно решить на основе реккурентных отношений подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11822 / 6801 / 769
Регистрация: 27.09.2012
Сообщений: 16,868
Записей в блоге: 2
Завершенные тесты: 1
23.06.2014, 10:54     Почему sizeof массива char равно 4?
C++
1
2
3
4
5
    char *ch3 = new char(len);//<--Это вообще выделение одного элемента. Чтобы выделить массив элементов используйте вырежение new[len]
    for (int i=0; i!=len; ++i) ch3[i]='\0';//Соответственно здесь выход за пределы выделенной памяти.
//...
//Ну а если выделите массив, то и delete нужен соответствующий:
delete [] ch3;
 
Текущее время: 22:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru