массив в c



Автор Алёнка задал вопрос в разделе Другие языки и технологии

Как правильно задать одномерный массив в 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];

Ответ от Krab Bark[гуру]
У тебя нет точек с запятой после операторов.
А размер массива с клавиатуры можно ввести тремя способами.
а) задать первоначально его с запасом: int n,a[1000]; cin>>n;
б) использовать вместо обычных массивов класс vector
б) некоторые компиляторы C++, позволяют использовать VLA массивы, имеющиеся в С, но далеко не все. int n; cin>>n; int a[n]; Это только если ты пишешь под конкретный rjvgbkynjh_ gjllthobdf.obq МДФ *мфкшфиду дутпер фккфя (ю
И когда пишешь вопросы, пиши соответственно правилам русского языка. Я хоть и не компилятор, но всё равно читать без знаков препинания тяжелее.

Ответ от Nexfwall[гуру]
Потому что int n не инициализирован, ты не задал ему значение.
char a[] для случаев, где возможно автоопределение размеров массива. Т. е. там где ты инициализируешь значение сразу.
char a[] = "some string..
";
int b[] = { 1, 2, 3, 4, 5 };

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Как правильно задать одномерный массив в C++?
Массив программирование на Википедии
Посмотрите статью на википедии про Массив программирование
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*