配列を関数に渡すにはどうすればいいのでしょうか?
以前の話で、配列とはポインタとほぼ同じ扱いが出来る理由を説明してきました。
C言語の配列は先頭のアドレスを保有しているだけなので、
ポインタとして扱っても問題がない。という事でしたね。
では、関数に配列を渡すときも、先頭のアドレスを渡せば、配列を渡したのと同じ意味になりますね。
-----
#include <stdio.h>
int main(){
int data[ 10 ];
func( data );
return 0;
}
void func( int* array ){
printf( "%d", array[0] );
}
-----
配列の先頭のアドレスを渡すには2つの方法があります。
1つ目は 正攻法に 『&data[0]』 とすれば、
変数の先頭のアドレスを渡すことが出来ますが、
単に『data』と記述しても先頭のアドレスを渡すことが出来るのです。