アットウィキロゴ
programmeur aihser
掲示板 掲示板 ページ検索 ページ検索 メニュー メニュー

programmeur aihser

変数の大きさ確認プログラム

最終更新:

匿名ユーザー

- view
管理者のみ編集可

C言語のデータ型の大きさ確認プログラム

結構、長くなってしまったが↓

#include <stdio.h>

void func1(short asss[])
{
	printf("\n");
	printf("function: void func1(short asss[]);\n");
	printf("sizeof(asss) = %d\n", sizeof(asss) );
}

void func2(short * psss)
{
	printf("\n");
	printf("function: void func1(short * psss);\n");
	printf("sizeof(psss) = %d\n", sizeof(psss) );
}

void func3(short attt[][4])
{
	printf("\n");
	printf("function: void func3(short attt[][4]);\n");
	printf("sizeof(attt) = %d\n", sizeof(attt) );
}

void func4(short (*pttt)[4])
{
	printf("\n");
	printf("function: void func1(short (*pttt)[4]);\n");
	printf("sizeof(pttt) = %d\n", sizeof(pttt) );
}

int main(void)
{
	short sss[10];
	short ttt[3][4];

	printf("sizeof(            char) = %d\n", sizeof(            char) );
	printf("sizeof(           short) = %d\n", sizeof(           short) );
	printf("sizeof(             int) = %d\n", sizeof(             int) );
	printf("sizeof(            long) = %d\n", sizeof(            long) );
	printf("sizeof(       long long) = %d\n", sizeof(       long long) );
	printf("sizeof(           float) = %d\n", sizeof(           float) );
	printf("sizeof(          double) = %d\n", sizeof(          double) );
	printf("sizeof(     long double) = %d\n", sizeof(     long double) );
	printf("sizeof(           void*) = %d\n", sizeof(           void*) );

	printf("\n");
	printf("short sss[10];\n");
	printf("sizeof(sss) = %d\n", sizeof(sss) );

	func1(sss);
	func2(sss);

	printf("\n");
	printf("short ttt[3][4];\n");
	printf("sizeof(ttt) = %d\n", sizeof(ttt) );

	func3(ttt);
	func4(ttt);

	return 0;
}

注意:環境によっては、printfの「%d」を
 「%u」とか「%ld」「%lu」にしなきゃならないかもです。

ちなみに、WinXP + VC8使用時、結果は↓
sizeof(            char) = 1
sizeof(           short) = 2
sizeof(             int) = 4
sizeof(            long) = 4
sizeof(       long long) = 8
sizeof(           float) = 4
sizeof(          double) = 8
sizeof(     long double) = 8
sizeof(           void*) = 4

short sss[10];
sizeof(sss) = 20

function: void func1(short asss[]);
sizeof(asss) = 4

function: void func1(short * psss);
sizeof(psss) = 4

short ttt[3][4];
sizeof(ttt) = 24

function: void func3(short attt[][4]);
sizeof(attt) = 4

function: void func1(short (*pttt)[4]);
sizeof(pttt) = 4
最近更新されたスレッド
人気記事ランキング
ウィキ募集バナー