なんじゃこりゃC言語

[上に] [前に] [次に]
初心者君 1999/11/21(日) 17:23:49
近頃LSICとかいうやつで
C言語の勉強を始めたんですけど
char *str = "ほげ?";
とかするとポインタstrの指しているアドレスは
不定だからやばいことになりかねないんですよね?
これであってますか?
むずかしいぃなぁ〜C言語。

B-Cus 1999/11/21(日) 17:53:28
> やばいことになりかねないんですよね?
なりません。
 http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/faqs/faq/comp.lang.c.faqj
を読んで、わからなかったら本を買った方がいいです。

# こんなのを読むだけで完璧に理解できたら、
# 誰もポインタで苦労しないんだけど。

J.Naka 1999/11/21(日) 17:57:56
char *str;
ならば、ポインタの指し示す先は不定で使用禁止だと思いますが、
char *str = "なになに";
は、ポインタの指し示す先は、文字列配列{'な','に','な','に','\0'}の'な'を指す事になるのでは。だから不定で無い。
#うっC言語は、、記憶が曖昧だ〜(^^;。。。つーか元から曖昧か(^^;;

J.Naka 1999/11/21(日) 18:10:43
自分の場合、ポインタとは物理的に何か?という事はわりと直ぐに理解したけど、表記的な単純さ(*は乗算の記号でもある)とは裏腹に、同じ記号でも使われるシチュエーションによって、その意味するところが100変化ってところで引っかかったす。少し冗長でも一意な文法が良いなぁ〜と、論理的構築力の弱いオツムは思いました。(^^;

[上に] [前に] [次に]