Автор Алёнка задал вопрос в разделе Другие языки и технологии
Как правильно задать одномерный массив в C++? и получил лучший ответ
Ответ от ZZZ0oO1Z[гуру]
Понравился ответ Krab в ветке комментов.Справедливости ради отмечу, что в плюсах для решения такой задачи целесообразнее использовать std::vector<char> a(nCaclulatedInRuntime);Стандарт гарантирует, что &a[0] будет указывать на сплошную простыню памяти нужного размера, инициализированную нулями (для встроенных типов в векторе) . И еще и выровненную под любой тип данных, т. к. выделеление памяти внутри произойдет через operator new[] (по Стандарту) . Вот Вам пример, специально со всякими printf-ами и memcpy, чтоб нагляднее указатели выглядели:#include <vector>#include <stdio.h>#include <string.h>using namespace std;int main(){vector<char> v(10);// inits v with 10 zero charsmemcpy(&v[0], "12345", 5);printf("%s", &v[0]);}
Если размер известен заранее - то так:
char a[100500];
Если размер заранее неизвестен - то так:
int n=100500;
char *a = new char [n];
У тебя нет точек с запятой после операторов.
А размер массива с клавиатуры можно ввести тремя способами.
а) задать первоначально его с запасом: int n,a[1000]; cin>>n;
б) использовать вместо обычных массивов класс vector
б) некоторые компиляторы C++, позволяют использовать VLA массивы, имеющиеся в С, но далеко не все. int n; cin>>n; int a[n]; Это только если ты пишешь под конкретный rjvgbkynjh_ gjllthobdf.obq МДФ *мфкшфиду дутпер фккфя (ю
И когда пишешь вопросы, пиши соответственно правилам русского языка. Я хоть и не компилятор, но всё равно читать без знаков препинания тяжелее.
Потому что int n не инициализирован, ты не задал ему значение.
char a[] для случаев, где возможно автоопределение размеров массива. Т. е. там где ты инициализируешь значение сразу.
char a[] = "some string..
";
int b[] = { 1, 2, 3, 4, 5 };
c++ как передать указатель на двумерный массив в функцию?
Массив передать в качестве параметра нельзя, только указатель на массив. В Вашем случае в сигнатуре
подробнее...
C++: И снова передача двумерных массив в функцию.. . каким макаром это сделать?
Объясняю: массив - это ряд одинаковых значений (нет, я не Очевидность 🙂 ). Имя массива в C/C++
подробнее...
как в c# добавить элементы в массив? Array.Add (name, \'element\') не работает, пишет, что Add не определен
Массивы в C# не имеют метода Add за ненадобностью. Доступ к элементам массива производится по
подробнее...
Есть ли в c++ (в math.h) встроенная функция нахождения максимума (минимума) последовательности чисел
Есть только функции нахождения максимума и минимума двух
подробнее...
Что такое массив. Что такое массив в программировании. Объясните / дайте пример.
Массив - это набор одинаковых данных, расположенных в переменных, пронумерованных индексами.
подробнее...
Стоит ли заниматься каждый день в качалке?
2 недельная программа для Работы на массу в первые 6 месяцев занятий.
1 неделя
подробнее...
Зачем нужны интерфейсы в ООП. C#
ты конечно можешь описать нужный тебе метод в каждом классе наследнике. Но вот представь себе
подробнее...
Pascal. Как перевести из char в string и наоборот?
String по сути - массив Char
c : Char;
s :String;
s[\'любой номер\']:=c;
или
подробнее...
Почему секунды в квадрате ???1 Н = 1 кг·м/с2
под действием силы в 1 ньютон масса в 1 кг приобретает скорость 1 м/с за 1 секунду
так что
подробнее...
В какой стране почитают кошек как священное животное?
Ко́шка дома́шняя (лат. Felis catus) — хищное млекопитающее из семейства кошачьих.
подробнее...
Помогите с Химией. Тема: Моль. Молярная масса. Объясните тему 😀
Тема: Количество вещества. Моль
Химия – это наука о веществах. А как измерять вещества? В
подробнее...
что такое масса?
Масса — физическая величина, отвечающая способности физических тел сохранять своё поступательное
подробнее...
формула чтобы найти число молей через массу и молярную массу. Пожалуйста дайте формулу завтро экзамен!!!
Моль, молярная масса
В химических процессах участвуют мельчайшие частицы – молекулы,
подробнее...