質問編集履歴
2
修正
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -73,5 +73,5 @@ | |
| 73 73 | 
             
            「4バイトのint型を連続に並べてint型のアライメントを2に小さくすれば、データを共有できるのでは?」← これ不可能ですね。
         | 
| 74 74 |  | 
| 75 75 | 
             
            4バイトint型のアライメントを2にすると、2個の1byteが連続で並び、その2つの組は連続であることは保証されなくなる。ということですかね。
         | 
| 76 | 
            -
            int 4byte => [ | 
| 76 | 
            +
            int 4byte => [1byte][1byte][   ][   ][1byte][1byte]
         | 
| 77 77 | 
             
            メモリレイアウトはこんな感じになるんですかね。
         | 
1
追記
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -51,4 +51,27 @@ | |
| 51 51 | 
             
            これでは読み書きの高速化には繋がらないような・・・気がしますが・・・
         | 
| 52 52 |  | 
| 53 53 | 
             
            分かる方教えてください。
         | 
| 54 | 
            -
            どこかにとんでもない勘違いをしている可能性があります。
         | 
| 54 | 
            +
            どこかにとんでもない勘違いをしている可能性があります。
         | 
| 55 | 
            +
             | 
| 56 | 
            +
            [追記]
         | 
| 57 | 
            +
            んんんん!!ああ!やっとわかったかもしれません。
         | 
| 58 | 
            +
             | 
| 59 | 
            +
            「1byteの連続な列を4つまとめて、int型としたとしましょう。」
         | 
| 60 | 
            +
            これがまさにアライメントなのですね!
         | 
| 61 | 
            +
             | 
| 62 | 
            +
            つまり、4つの1byteなデータを連続して並べる事をアライメント・・・って言うんですね!
         | 
| 63 | 
            +
            (間違っていたら教えてください。)
         | 
| 64 | 
            +
             | 
| 65 | 
            +
            [データ型のアラインメントとは何か,なぜ必要なのか?](http://www5d.biglobe.ne.jp/~noocyte/Programming/Alignment.html#CompositeDataAlignment)
         | 
| 66 | 
            +
            アラインされていないデータへのアクセスの蘭のを見てみると、4バイトデータXがバラバラの位置に配置されていますよね。
         | 
| 67 | 
            +
             | 
| 68 | 
            +
            これを、**4つ連続に並べること**こそがアライメントなんでしょうか??
         | 
| 69 | 
            +
            (だとしたら、アライメントの理解を完全に間違っていたことになります。)
         | 
| 70 | 
            +
             | 
| 71 | 
            +
            もしそうだとしたら・・・
         | 
| 72 | 
            +
            いままで、こんなことを考えていました。
         | 
| 73 | 
            +
            「4バイトのint型を連続に並べてint型のアライメントを2に小さくすれば、データを共有できるのでは?」← これ不可能ですね。
         | 
| 74 | 
            +
             | 
| 75 | 
            +
            4バイトint型のアライメントを2にすると、2個の1byteが連続で並び、その2つの組は連続であることは保証されなくなる。ということですかね。
         | 
| 76 | 
            +
            int 4byte => [char][char][   ][   ][char][char]
         | 
| 77 | 
            +
            メモリレイアウトはこんな感じになるんですかね。
         | 
