配列のアドレス渡し

今日は、配列を関数に渡すよ!

#include <stdio.h>

void printElement(const char *pElements, int index)
{
	printf( "pElements[%d] = %d\n", index, pElements[index] );
}

int main(int argc, char *argv[])
{
	char elements[] = { 12, 34, 56, 78, 90 };
	printElement( elements, 0 );
	printElement( elements, 1 );
	printElement( elements, 2 );
	printElement( elements, 3 );
	printElement( elements, 4 );
	return 0;
}

実行結果
pElements[0] = 12
pElements[1] = 34
pElements[2] = 56
pElements[3] = 78
pElements[4] = 90

printElementの引数には、先頭アドレスと何個目を表示するかの番号を渡してるよ。
先頭アドレスといっても、配列の最初の変数のアドレスだね。
そして、関数の中では、ポインタを配列のように扱っているよ。

そして、constってキーワードが今回、新たに出てきたけど、
その意味はポインタを通じて値を変更したらエラーが出るように、
Cコンパイラさんにお願いするキーワードだよ。
こうやって、読み取り専用の変数を実現するよ。

Leave a Comment