ページ 1 / 1
ポインタの使用方法について
Posted: 2011年6月09日(木) 19:13
by LisetteLander
使用方法というかなんというか単発の質問です。
コード:
int x,y=0,*z;
z=&y;
x=y*z;
printf("%d",x);
この場合どうなるのでしょうか?
=y*z;区間にスペースはない物として
Re: ポインタの使用方法について
Posted: 2011年6月09日(木) 19:23
by 初級者
ご自分では試していないのでしょうか?
Re: ポインタの使用方法について
Posted: 2011年6月09日(木) 19:27
by dic
どうなるかというとコンパイルエラーになります
Re: ポインタの使用方法について
Posted: 2011年6月09日(木) 19:36
by LisetteLander
な、なるほど・・・
これは不躾でした。
それともうひとつ、scanf関数のことで質問です。
どうしてこの関数には引数に&が必要なのでしょうか?
scanf関数を使用するときに必ず&を変数の前につけろと聞きました。
stdio.hを造る時にscanf関数のスコープの中で&を必要としない引数の取り方はできたと思います。
ということは第二引数に&(変数)を使わない、もしくは違う物を入れる場合があるということでしょうか?
Re: ポインタの使用方法について
Posted: 2011年6月09日(木) 19:54
by non
格納する領域のアドレスを渡しているからです。
配列を渡す場合
例えば
char str[20];
のような場合は
scanf("%s",str);としますから&はつきませんが、
scanf("%s",&str[0]);と書くこともできるので、使わないといえるかどうか・・・
Re: ポインタの使用方法について
Posted: 2011年6月09日(木) 20:02
by LisetteLander
なるほどー
ありがとうございました!
Re: ポインタの使用方法について
Posted: 2011年6月09日(木) 21:28
by ISLe
sood さんが書きました:scanf関数を使用するときに必ず&を変数の前につけろと聞きました。
だれがそんな嘘を…。
コード:
int y=0,*z;
z=&y;
scanf("%d",z); /* &を付けてはダメ */
printf("%d",y);