IEにおいて、[Math Processing Error] となって数式等が正しく表示されないときは、互換表示をOFFにすること!

配列データの表示〜配列とポインタと関数〜

1.グローバル(大域)変数として配列データを持つ

/* Array */
#include <stdio.h>

/* 配列データ */
	int data[15] = { 123, 106, 777, 580, 216, 136, 700, 351, 229, 197 };
/* データの個数 */
	int datanum = 10;

/* 全データを表示する */
main()
{
	int     i;

	for( i = 0; i < datanum; i++ )
		printf("%5d", data[i] );
}

/* end of array1.c */

2.全データを表示する関数

/* Array */
#include <stdio.h>

/* 配列データ */
	int data[15] = { 123, 106, 777, 580, 216, 136, 700, 351, 229, 197 };
/* データの個数 */
	int datanum = 10;

/* 全データを表示する関数 */
void dispdata()
{
	int	i;
	
	for( i = 0; i < datanum; i++ )
		printf("%5d", data[i] );
}

/* 全データを表示する */
main()
{
	dispdata();/* 全データを表示する関数の呼び出し */
}

/* end of array2.c */

3.オート(自動)・ローカル(局所)変数として配列データを持つ

/* Array */
#include <stdio.h>

/* 全データを表示する */
main()
{
/* 配列データ */
	int data[15] = { 123, 106, 777, 580, 216, 136, 700, 351, 229, 197 };
/* データの個数 */
	int datanum = 10;

	int     i;

	for( i = 0; i < datanum; i++ )
		printf("%5d", data[i] );
}

/* end of array3.c */

4.全データを表示する関数(配列版)

/* Array */
#include <stdio.h>

/* 全データを表示する関数 */
void dispdata( int a[], int n )
{
	int	i;
	
	for( i = 0; i < n; i++ )
		printf("%5d", a[i] );
}

/* 全データを表示する */
main()
{
/* 配列データ */
	int data[15] = { 123, 106, 777, 580, 216, 136, 700, 351, 229, 197 };
/* データの個数 */
	int datanum = 10;

	dispdata( data, datanum );
}

/* end of array4.c */

5.全データを表示する関数(ポインタ版)

/* Array */
#include <stdio.h>

/* 全データを表示する関数 */
void dispdata( int *a, int n )
{
	int	i;
	
	for( i = 0; i < n; i++, a++ )
		printf("%5d", *a );
	/*	printf("%5d", a[i] ); と書いても良い */	
}

/* 全データを表示する */
main()
{
/* 配列データ */
	int data[15] = { 123, 106, 777, 580, 216, 136, 700, 351, 229, 197 };
/* データの個数 */
	int datanum = 10;

	dispdata( data, datanum );
}

/* end of array5.c */

6.全データを表示する関数(最もCらしい版!?)

/* Array */
#include <stdio.h>

/* 全データを表示する関数 */
void dispdata( int *a, int n )
{
	while( n-- > 0 )
		printf("%5d", *a++ );
}

/* 全データを表示する */
main()
{
/* 配列データ */
	int data[15] = { 123, 106, 777, 580, 216, 136, 700, 351, 229, 197 };
/* データの個数 */
	int datanum = 10;

	dispdata( data, datanum );
}

/* end of array6.c */