ポインタの使用方法について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
LisetteLander

ポインタの使用方法について

#1

投稿記事 by LisetteLander » 14年前

使用方法というかなんというか単発の質問です。

コード:

int x,y=0,*z;
z=&y;
x=y*z;
printf("%d",x);
この場合どうなるのでしょうか?
=y*z;区間にスペースはない物として

初級者
記事: 200
登録日時: 15年前

Re: ポインタの使用方法について

#2

投稿記事 by 初級者 » 14年前

ご自分では試していないのでしょうか?

dic
記事: 658
登録日時: 15年前
住所: 宮崎県
連絡を取る:

Re: ポインタの使用方法について

#3

投稿記事 by dic » 14年前

どうなるかというとコンパイルエラーになります

LisetteLander

Re: ポインタの使用方法について

#4

投稿記事 by LisetteLander » 14年前

な、なるほど・・・
これは不躾でした。

それともうひとつ、scanf関数のことで質問です。
どうしてこの関数には引数に&が必要なのでしょうか?
scanf関数を使用するときに必ず&を変数の前につけろと聞きました。
stdio.hを造る時にscanf関数のスコープの中で&を必要としない引数の取り方はできたと思います。

ということは第二引数に&(変数)を使わない、もしくは違う物を入れる場合があるということでしょうか?

non
記事: 1097
登録日時: 15年前

Re: ポインタの使用方法について

#5

投稿記事 by non » 14年前

格納する領域のアドレスを渡しているからです。
配列を渡す場合
例えば
char str[20];
のような場合は
scanf("%s",str);としますから&はつきませんが、
scanf("%s",&str[0]);と書くこともできるので、使わないといえるかどうか・・・
non

LisetteLander

Re: ポインタの使用方法について

#6

投稿記事 by LisetteLander » 14年前

なるほどー
ありがとうございました!

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: ポインタの使用方法について

#7

投稿記事 by ISLe » 14年前

sood さんが書きました:scanf関数を使用するときに必ず&を変数の前につけろと聞きました。
だれがそんな嘘を…。

コード:

int y=0,*z;
z=&y;
scanf("%d",z); /* &を付けてはダメ */
printf("%d",y);

閉鎖

“C言語何でも質問掲示板” へ戻る