回答編集履歴
3
エラーの説明
    
        answer	
    CHANGED
    
    | @@ -1,6 +1,8 @@ | |
| 1 1 | 
             
            OS(のメモリ領域の扱い)によっても異なると思いますが、文字列リテラルについては(マルウェア対策のために)書き換え不可のメモリ領域に確保されたりします。
         | 
| 2 2 | 
             
            [http://mkubara.com/index.php/%E6%96%87%E5%AD%97%E5%88%97%E3%83%AA%E3%83%86%E3%83%A9%E3%83%AB](http://mkubara.com/index.php/%E6%96%87%E5%AD%97%E5%88%97%E3%83%AA%E3%83%86%E3%83%A9%E3%83%AB)
         | 
| 3 | 
            -
            各行単体でみれば、C++の言語仕様上のルール違反ではないです。
         | 
| 4 3 |  | 
| 4 | 
            +
            >Runtime error(Exit status:139(Invalid memory reference))
         | 
| 5 | 
            +
            は、実行時エラー(メモリアクセス違反:無効領域)であり、C++の言語仕様上、お示しのコード各行単体ではルール違反ではないです。
         | 
| 6 | 
            +
             | 
| 5 7 | 
             
            char str[] = "ABC";
         | 
| 6 8 | 
             
            と記述すると、うまくいくと思われます。strの示すメモリ領域がスタック領域になりますので。
         | 
2
詳細を記載
    
        answer	
    CHANGED
    
    | @@ -1,5 +1,6 @@ | |
| 1 | 
            -
            char str[] = "ABC";
         | 
| 2 | 
            -
            と記述すると、うまくいくと思われます。
         | 
| 3 1 | 
             
            OS(のメモリ領域の扱い)によっても異なると思いますが、文字列リテラルについては(マルウェア対策のために)書き換え不可のメモリ領域に確保されたりします。
         | 
| 4 2 | 
             
            [http://mkubara.com/index.php/%E6%96%87%E5%AD%97%E5%88%97%E3%83%AA%E3%83%86%E3%83%A9%E3%83%AB](http://mkubara.com/index.php/%E6%96%87%E5%AD%97%E5%88%97%E3%83%AA%E3%83%86%E3%83%A9%E3%83%AB)
         | 
| 5 | 
            -
            各行単体でみれば、C++の言語仕様上のルール違反ではないです。
         | 
| 3 | 
            +
            各行単体でみれば、C++の言語仕様上のルール違反ではないです。
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            char str[] = "ABC";
         | 
| 6 | 
            +
            と記述すると、うまくいくと思われます。strの示すメモリ領域がスタック領域になりますので。
         | 
1
質問に対する回答
    
        answer	
    CHANGED
    
    | @@ -1,5 +1,5 @@ | |
| 1 | 
            -
            こんにちは。
         | 
| 2 1 | 
             
            char str[] = "ABC";
         | 
| 3 | 
            -
            と記述すると、うまくいく | 
| 2 | 
            +
            と記述すると、うまくいくと思われます。
         | 
| 4 3 | 
             
            OS(のメモリ領域の扱い)によっても異なると思いますが、文字列リテラルについては(マルウェア対策のために)書き換え不可のメモリ領域に確保されたりします。
         | 
| 5 | 
            -
            [http://mkubara.com/index.php/%E6%96%87%E5%AD%97%E5%88%97%E3%83%AA%E3%83%86%E3%83%A9%E3%83%AB](http://mkubara.com/index.php/%E6%96%87%E5%AD%97%E5%88%97%E3%83%AA%E3%83%86%E3%83%A9%E3%83%AB)
         | 
| 4 | 
            +
            [http://mkubara.com/index.php/%E6%96%87%E5%AD%97%E5%88%97%E3%83%AA%E3%83%86%E3%83%A9%E3%83%AB](http://mkubara.com/index.php/%E6%96%87%E5%AD%97%E5%88%97%E3%83%AA%E3%83%86%E3%83%A9%E3%83%AB)
         | 
| 5 | 
            +
            各行単体でみれば、C++の言語仕様上のルール違反ではないです。
         | 
