teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

修正

2020/09/04 21:44

投稿

amiya
amiya

スコア1218

answer CHANGED
@@ -33,4 +33,7 @@
33
33
 
34
34
  つまり、[0][4]は次の列の[1][0]と同じアドレスを指します。
35
35
  定義的には存在しない添字を入れても、そのまま動いてしまうのがC言語です。
36
- [0][0]にアクセスしたいのに、「4文字分全てだから……」なんて考えて、[0][4]なんてかいてしまうと
36
+ [0][0]にアクセスしたいのに、「4文字分全てだから……」なんて考えて、[0][4]なんてかいてしまうと
37
+ [1][0]にアクセスしてしまうので、-1して、[-1][4]なんて不思議な書き方をする事になってしまいます。
38
+
39
+ C言語の文字配列は、あくまで配列の頭のアドレスを基準にアクセスするという、ポインタのイメージで扱わないと混乱します。