○配列の引数渡し
■1次元
void sub(int i[]){
for(int j=0;j<10;j++){
i[j] = j;
}
}
int main(){
int i[10];
sub(i);
for(int j=0;j<10;j++){
printf("%d\n",i[j]);
}
printf("END\n");
return 0;
}
▼もしくは
void sub(int*i){
for(int j=0;j<10;j++){
i[j] = j;
}
}
int main(){
int i[10];
sub(i);
for(int j=0;j<10;j++){
printf("%d\n",i[j]);
}
printf("END\n");
return 0;
}
■2次元
void sub(int i[][10]){
for(int j=0;j<10;j++){
for(int k=0;k<10;k++){
i[j][k] = j*10+k;
}
}
}
int main(){
int i[10][10];
sub(i);
for(int j=0;j<10;j++){
for(int k=0;k<10;k++){
printf("%d ",i[j][k]);
}
printf("\n");
}
printf("END\n");
return 0;
}
▼もしくは
void sub(int (*i)[10]){
for(int j=0;j<10;j++){
for(int k=0;k<10;k++){
i[j][k] = j*10+k;
}
}
}
int main(){
int i[10][10];
sub(i);
for(int j=0;j<10;j++){
for(int k=0;k<10;k++){
printf("%d ",i[j][k]);
}
printf("\n");
}
printf("END\n");
return 0;
}
■3次元
void sub(int i[][10][5]){
for(int j=0;j<10;j++){
for(int k=0;k<10;k++){
i[j][k][1] = j*10+k;
}
}
}
int main(){
int i[10][10][5];
sub(i);
for(int j=0;j<10;j++){
for(int k=0;k<10;k++){
printf("%d ",i[j][k][1]);
}
printf("\n");
}
printf("END\n");
return 0;
}
▼もしくは
void sub(int (*i)[10][5]){
for(int j=0;j<10;j++){
for(int k=0;k<10;k++){
i[j][k][1] = j*10+k;
}
}
}
int main(){
int i[10][10][5];
sub(i);
for(int j=0;j<10;j++){
for(int k=0;k<10;k++){
printf("%d ",i[j][k][1]);
}
printf("\n");
}
printf("END\n");
return 0;
}
▲トップページ
>
Windows と C++