C/C++の宿題を片付けます 75代目
■ このスレッドは過去ログ倉庫に格納されています
0083デフォルトの名無しさん
2006/10/21(土) 16:53:18#include <stdio.h>
int main(void){
int arr[]={11,21,31,41,51};
printf("arr: %d\n", arr);
printf("arr+1: %d\n", arr+1);
printf("&arr+1: %d\n", (&arr)+1);
int (*parr)[5] = &arr;
printf("parr+1: %d\n", parr+1);
printf("parr++: %d\n", ++parr);
int * ptr=arr;
printf("++arr: %d\n", ++arr);
printf("++ptr: %d\n", ++ptr);
}
で、結果が
arr: 4278992
arr+1: 4278996
&arr+1: 4278996
parr+1: 4278996
parr++: 4278996
++arr: 0
++ptr: 4278996
&arr+1はarr+(5 * 4byte)先ということではないのですね?
あと、最後の3行から、arrは配列arrの先頭要素のアドレスを返すけれど、
ポインタでは無いと考えていいでしょうか?(処理系はcintです。)
#うざく感じているみなさん、大変申し訳ありません。
#もう少しなので、多めに見てくださいますよう、お願いします。
■ このスレッドは過去ログ倉庫に格納されています