😸
[C] malloc 関数
機能
動的にメモリ領域を確保する標準ライブラリ関数[1]。
使用例
int *p = (int*)malloc(sizeof(int));
として1つ分のintを確保する
\n
は改行を表す エスケープシーケンス[2]
コード
int *p = (int*)malloc(sizeof(int));
if(p != NULL) {
*p = 10;
printf("%d\n", *p);
free(p);
}
全文
#include <stdio.h>
#include <stdlib.h>
void main() {
int *p = (int*)malloc(sizeof(int));
if(p != NULL) {
*p = 10;
printf("%d\n", *p);
free(p);
}
}
実行結果
10
malloc
で配列を確保し、変数から表示する
コード
int n = 3;
int *arr = (int*)malloc(n * sizeof(int));
for(int i=0;i<n;i++) arr[i] = i * 2;
for(int i=0;i<n;i++) printf("%d ", arr[i]);
free(arr);
全文
#include <stdio.h>
#include <stdlib.h>
void main() {
int n = 3;
int *arr = (int*)malloc(n * sizeof(int));
for(int i=0;i<n;i++) arr[i] = i * 2;
for(int i=0;i<n;i++) printf("%d ", arr[i]);
free(arr);
}
実行結果
0 2 4
Discussion