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

回答編集履歴

1

抜けてた char を追加

2020/02/21 03:22

投稿

rubato6809
rubato6809

スコア1382

answer CHANGED
@@ -9,8 +9,8 @@
9
9
  void mdump(void *vp, int size, const char *msg);
10
10
  int main(void)
11
11
  {
12
- char str1[100] ="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
12
+ char str1[100] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
13
- char str2[1000]="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
13
+ char str2[1000] = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
14
14
  printf("str1は%lu\n", strlen(str1));
15
15
  printf("str2は%lu\n", strlen(str2));
16
16
 
@@ -92,7 +92,7 @@
92
92
 
93
93
  さらに、たとえば
94
94
  ```C
95
- str2[1000]; // ="aaaaa...a";
95
+ char str2[1000]; // ="aaaaa...a";
96
96
  ```
97
97
  とすれば、str2[1000] は初期化されない 1000 バイトのメモリ領域となり、そこに在る様々な値、**いわゆるゴミ**ですが、見ようによっては美しい模様として眺めることができます。このように実際のメモリの姿を見ておくとC言語の仕組みの一端を具体的に実感としてつかむことができ、デバッグにも役立ちます。
98
98
  Enjoy !