それを配列へのポインタを定義して、多くのメモリとして割り当て:あなたが最初の整数配列を削除する必要があり、その後、ポインタ配列は、このような場合には、設定が完了したときに動的に割り当てられた配列を削除することを忘れないでください。使用中のCの実装が1のVLAを交互に行うことができますサポートしている場合
#include <stdlib.h>
#include <stdio.h>
#define ROWS (5)
#define COLUMNS (7)
int main(void)
{
/* Define and initialise the pointer to the array. */
int (*p)[ROWS][COLUMNS] = malloc(sizeof *p);
if (NULL == p)
{
perror("malloc() failed");
return EXIT_FAILURE;
}
/* Initialize the array's members. */
{
size_t r, c;
for (r = 0; r < ROWS; ++r)
{
for (c = 0; c < COLUMNS; ++c)
{
(*p)[r][c] = r * c;
}
}
}
/* Print the array's members' values. */
{
size_t r, c;
for (r = 0; r < ROWS; ++r)
{
for (c = 0; c < COLUMNS; ++c)
{
printf("array[%zu][%zu] = %d\n", r, c (*p)[r][c]);
}
}
}
/* Free the array. */
free(p)
return EXIT_SUCCESS;
}
:を指すように定義されて
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
size_t ROWS = 5;
size_t COLUMNS = 7;
...
出典
2016-10-26 06:09:40
alk
https://www.google.com/search?q=c+dynamic+配列 – Biffen
あなたは['malloc'](http://en.cppreference.com/w/c/memory/malloc)と[' free'](http://en.cppreference.com/w/c)について聞いたことがありますか? /メモリ/無料)? –