LINUX.ORG.RU

История изменений

Исправление xaizek, (текущая версия) :

Я бы так написал (C99, раз int внутри for).

#include <stddef.h>
#include <stdlib.h>
// ...
const int N = 10;
int *const arr = malloc(sizeof(*arr)*N);
if (arr == NULL) {
    // ...
}
for (int i = 0; i < N; ++i) {
    arr[i] = i;
}
while тут плох, так как речь идёт о диапазоне, а это как раз for.

UPD: ещё можно size_t использовать для N и i, но тогда надо повышать бдительность к операциям с беззнаковыми типами.

Исправление xaizek, :

Я бы так написал (C99, раз int внутри for).

#include <stddef.h>
#include <stdlib.h>
// ...
const int N = 10;
int *const arr = malloc(sizeof(*arr)*N);
if (arr == NULL) {
    // ...
}
for (int i = 0; i < N; ++i) {
    arr[i] = i;
}
while тут плох, так как речь идёт о диапазоне, а это как раз for.

Исходная версия xaizek, :

Я бы так написал (C99, раз int внутри for).

const int N = 10;
int *const arr = malloc(sizeof(*arr)*N);
for (int i = 0; i < N; ++i) {
    arr[i] = i;
}
while тут плох, так как речь идёт о диапазоне, а это как раз for.