配列のアドレス渡し
今日は、配列を関数に渡すよ!
#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