-
配列の配列変数をポインタ変数に代入する
#include<stdio.h>
main()
{
int iary[] = {1,2,3};
int *ip;
ip = iary;
printf("配列変数で見ると %d\nポインタ変数で見ると %d\n",iary[0],*ip);
}
-
ポインタ変数の加算
#include<stdio.h>
main()
{
int iary[] = {1,2,3};
int *ip;
ip = iary;
ip = ip + 2;//ポインタ変数の加算
//ポインタ変数の指すアドレスの値を見る
printf("配列の先頭 %d\n加算したポインタ変数で見ると %d\n",iary[0],*ip);
//ポインタ変数の値(アドレス)を見る
printf("0番目のアドレス %p\n1番目のアドレス %p\n\
2番目のアドレス %p\n加算されたポインタ変数の値は %p\n"
,&iary[0],&iary[1],&iary[2],ip);
}
演習
-
double型の配列を代入したポインタ変数の加算の様子を調べよ
-
char型の配列を代入したポインタ変数の加算の様子を調べよ
-
配列の先頭アドレスが代入されているポンタ変数ipを用いて*(ip+1)は,何を意味するか調べよ
型の違うポインタ変数に代入すると
#include<stdio.h>
main()
{
unsigned int iary[] = {100,101,102};
char *ip;
ip = iary;
//ip = ip + 1;
printf("%p, %p, %c\n",iary,ip,*ip);
}
最終更新:2012年05月16日 12:06