トップ 言語 C・C++ イントロダクション 中身はC言語の一般ユーティリティ(stdlib.h) 関数 mallocの使い方

mallocの使い方―malloc(メモリを確保)し、ポインタを渡してfree(領域を開放)する例

C言語のイントロダクションとして、stdlib.hで定義されるmallocの使い方を紹介しています。malloc(メモリを確保)し、mallocで作成したメモリ領域のポインタを渡してfree(領域を開放)する例です。

▲記事トップへ

説明

mallocは動的にメモリを確保します。

#include <stdlib.h>
/* ヒープ上にsizeバイトの領域を確保 */
void *malloc(size_t size);

mallocは、大きさsizeバイトのメモリ領域をヒープ上に確保し、そのメモリ領域の先頭のポインタを を返します。メモリ領域が確保できないときはNULLを返します。

サンプルプログラム

作成条件

ここでは、gccを使用しています。

コーディング

//ファイル名:malloc.c

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
	int *p = malloc(sizeof(int)); /*メモリ領域の確保*/
	if(p==NULL){
     	/*メモリ確保に失敗*/
     	printf("メモリ確保に失敗しました。\n");
		return 1;
	}
	*p = 999;
	printf("アドレス(%p)の変数の値は、%dである。\n", p,*p);
	free(p);	/* mallocで確保したメモリ領域を開放 */
	return 0;
}

ビルド

$gcc -o malloc malloc.c

テスト

作成したmallocというファイルと同じディレクトリで./mallocとコマンドラインに入力して、 「アドレス(16進数の数字)の変数の値は、999である。」と出力されればOKです。

例)
$./malloc
アドレス(0x8739008)の変数の値は、999である。

以上です。

その他のイントロダクションの内容

本イントロダクションは、C言語はどういうものか、つまみ食いしてみるコンテンツです。 WindowsやLinux環境だったり、bccやgcc、VCなど複数のコンパイラーを使用しており、サンプルを動かすのは難しいので眺める用です。 習熟度を表現するため、レベルを付けています。

(太字が現在位置です。)

もっと知識を深めるための参考

戻る

スポンサーリンク

サイト内のページ

言語
C・C++ /HTML /Java /JavaScript /PHP /シェルスクリプト

開発環境
Ant /Burp /Eclipse /Fiddler /gcc /gdb /Git /g++ /JDK /JMeter /JUnit /Teraterm /ZAP

技術・仕様
Ajax /CORBA /Jakarta EE(旧称J2EE、Java EE) /JNI

ライブラリ/Framework/CMS
bootstrap /jQuery /FuelPHP /Lucene /MyBatis /Seasar2 /Spring /Struts /WordPress

Web API
Google Maps

ITインフラOSとミドルウェア
Linux /Windows /シェル
ActiveMQ /Tomcat /MariaDB /MySQL /Nagios /Redis /Solr

ITインフラサーバー
公開Webサーバー

ITインフラネットワーク
プログラミング /構築

ITインフラセキュリティ
公開サーバーのセキュリティ

PC製品
ZOTAC

SI
ホームページの作り方

その他
IT用語 /ITスキル体系

スポンサーリンク

関連サイト内検索ツール

zealseedsおよび関連サイト内のページが検索できます。

IPアドレス確認ツール

あなたのグローバルIPアドレスは以下です。

13.58.105.80

HTMLの表示色確認ツール

パスワード生成ツール

文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。

ここに生成されます。

スポンサーリンク