Вопросы по теме 'variable-length-array'
Требуется ли выделение массива переменной длины C из стека?
После удаления всех вызовов malloc и calloc из нашего кода для встраиваемой системы я с удивлением обнаружил, что malloc все еще связывается. График вызовов указал мне на функцию, которая не имела явных вызовов * alloc и не вызывала любые...
1713 просмотров
schedule
21.09.2021
Соответствуют ли параметры массива VLA?
Стандарт безопасного кодирования CERT включает item ( API05-C ), который поощряет использование соответствующих параметров массива, что является рекомендацией, которую я реализовал во многих частях моего кода (скрытых за макрос для компиляторов,...
249 просмотров
schedule
07.09.2021
Выражение размера параметра массива переменной длины с побочными эффектами
Этот вопрос возник из-за замечания Эрика Постпишила, сделанного в другом потоке.
Мне сложно понять использование массивов переменной длины (VLA) в качестве параметров функции:
Размер массива не проверяется.
Размер массива не может быть...
140 просмотров
schedule
17.09.2021
Поиск массивов переменной длины в коде
Когда размер моих входных данных достаточно велик, ошибка сегментации возникает там, где в проекте используются массивы переменной длины. Я хочу удалить их все, как заставить GCC отображать каждое найденное объявление массива переменной длины?
Я...
187 просмотров
schedule
24.03.2022
Как генерируются инструкции массива переменной длины?
Массивы переменной длины поддерживаются в C:
int main(){
int num = 5;
int arr[num];
return 0;
}
Я понимаю, что arr выделяется во время выполнения. Как это достигается? Вызывает ли он функцию времени выполнения C для выделения...
60 просмотров
schedule
20.04.2022
Правильное размещение многомерных массивов
Целью этого вопроса является предоставление справки о том, как правильно распределять многомерные массивы динамически на C. Это тема, которую часто неправильно понимают и плохо объясняют даже в некоторых книгах по программированию на C. Поэтому даже...
8834 просмотров
schedule
10.08.2022
Оператор Sizeof с типом массива переменной длины
Согласно cppreference :
Если тип выражения является типом массива переменной длины , вычисляется выражение и размер массива он вычисляется во время выполнения.
Это означает: если тип выражения является типом VLA, то оценивается...
1455 просмотров
schedule
08.08.2022
Как я могу инициализировать массив, не зная его размера?
У меня есть ситуация, когда я должен применить критерии к входному массиву и вернуть другой массив в качестве вывода, который будет иметь меньший размер на основе критериев фильтрации.
Теперь проблема в том, что я не знаю размер отфильтрованных...
112231 просмотров
schedule
21.08.2022
длина массива во время выполнения в C++
Меня попросили доказать, что длину массива можно задать в программе, и ее не нужно определять во время компиляции. У меня есть следующий код:
#include<iostream>
using namespace std;
int main()
{
int x, myarray[x];
cout <<...
126 просмотров
schedule
27.08.2022
C++ Передача динамического массива, определяемого параметром
Эта функция задавалась здесь несколько раз, но меня интересует конкретный случай. Возможно ли, чтобы размер передаваемого массива определялся дополнительным аргументом?
В качестве примера предположим, что мне нужна функция для печати двумерного...
82 просмотров
schedule
21.09.2022
порядок кода с массивом переменной длины
В C99 есть большая разница между этими двумя?:
int main() {
int n , m;
scanf("%d %d", &n, &m);
int X[n][m];
X[n-1][m-1] = 5;
printf("%d", X[n-1][m-1]);
}
и:
int main(int argc, char *argv[]) {
int n , m;...
90 просмотров
schedule
24.09.2022
Почему массивы переменной длины не являются частью стандарта C ++?
Я не очень много использовал Си в последние несколько лет. Когда я читаю это question сегодня я наткнулся на синтаксис языка C, с которым я не был знаком.
По-видимому, в C99 допустим следующий синтаксис:
void foo(int n) {
int...
167802 просмотров
schedule
19.03.2023
Поддерживает ли C++ массивы переменной длины?
Нет, подожди, потерпи меня...
VLA всегда были расширением GCC, но они были приняты C99:
[C99: 6.7.5.2/4]: Если размер отсутствует, тип массива является неполным. Если размер * вместо выражения, тип массива является типом массива...
18376 просмотров
schedule
22.07.2023
Как преобразовать код массива переменной длины C в Rust?
Я знаю, что Rust не поддерживает массивы переменной длины, но это заставляет меня задуматься, чем их заменить, учитывая, что:
Я не хочу выделять и освобождать крошечный Vec в цикле
Средство проверки заимствований не позволяет мне вывести код за...
688 просмотров
schedule
30.06.2023
sizeof оценка массива переменной длины
sizeof операнд будет оценивать операнд, если это массив переменной длины.
6.5.3.4, p2: если тип операнда представляет собой тип массива переменной длины, операнд оценивается;
Тем не менее, этот код работает, и я предполагаю, что он...
159 просмотров
schedule
30.11.2022
Инициализированный массив переменной длины, работающий по-разному (между компьютерами)
У меня есть код, который инициализирует массивы, в частности C-строки, с использованием переменных. Например...
int len = getLength();
char cstr[len+1] = {'\0'};
Это компилируется и безупречно работает в моем коде. Однако, когда один из...
128 просмотров
schedule
08.07.2023
MATLAB: прокрутите значения списка из функции «кто»
У меня есть длинный список переменных в моей рабочей области. Во-первых, я нахожу потенциальные переменные, которые могут меня заинтересовать, используя функцию who . Затем я хотел бы просмотреть этот список, чтобы найти размер каждой переменной,...
589 просмотров
schedule
06.01.2023
Странное назначение типа для индекса массива в C++
Привет у меня есть пример программы
#include <iostream>
int main() {
int a = -5;
int arr[a];
std::cout << "Size of arr: " << sizeof(arr) << std::endl;
return 0;
}
Здесь я получаю вывод 17179869164....
105 просмотров
schedule
10.07.2023
Ошибка компиляции массива переменной длины с GCC
Как сделать компиляцию успешной для программы с массивом переменной длины? (в настоящее время отображается ошибка: массив переменного размера). Я использую gcc в линуксе. Как сделать компилятор совместимым со стандартом c99? Пожалуйста, помогите...
132 просмотров
schedule
02.01.2023
ISO C90 запрещает использование массивов переменной длины [-Werror = vla]
Итак, я создал структуру под названием product, и я хотел отсортировать массив с этим типом структуры на основе компонента этой структуры под названием price, и для этого я скопировал объединенный алгоритм сортировки.
Я немного изменил его, чтобы...
690 просмотров
schedule
02.02.2024