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

回答編集履歴

3

サンプルプログラムのbの型をu8からu32に変更しました

2019/03/01 00:07

投稿

tatsuya6502
tatsuya6502

スコア2055

answer CHANGED
@@ -9,8 +9,8 @@
9
9
  let a = [34, 1, 0, 0]; // [u8; 4]型
10
10
  let a_ref = &a; // &[u8; 4]型
11
11
 
12
- let b = 12u8; // u8
12
+ let b = 12u32; // u32
13
- let b_ref = &b; // &u8
13
+ let b_ref = &b; // &u32
14
14
 
15
15
  println!("var size address value");
16
16
  println!("--------------- ---- -------------- ---------------");
@@ -28,14 +28,14 @@
28
28
  ref2usize(a_ref)
29
29
  );
30
30
  println!(
31
- "b: u8 {} {:p} {:?}",
31
+ "b: u32 {} {:p} {:?}",
32
- size_of::<u8>(),
32
+ size_of::<u32>(),
33
33
  &b,
34
34
  b
35
35
  );
36
36
  println!(
37
- "b_ref: &u8 {} {:p} 0x{:x}",
37
+ "b_ref: &u32 {} {:p} 0x{:x}",
38
- size_of::<&u8>(),
38
+ size_of::<&u32>(),
39
39
  &b_ref,
40
40
  ref2usize(b_ref)
41
41
  );
@@ -57,10 +57,10 @@
57
57
  ```console
58
58
  var size address value
59
59
  --------------- ---- -------------- ---------------
60
- a: [u8; 4] 4 0x7ffeed9e2b88 [34, 1, 0, 0]
60
+ a: [u8; 4] 4 0x7ffeedd64b88 [34, 1, 0, 0]
61
- a_ref: &[u8; 4] 8 0x7ffeed9e2b98 0x7ffeed9e2b88
61
+ a_ref: &[u8; 4] 8 0x7ffeedd64b98 0x7ffeedd64b88
62
- b: u8 1 0x7ffeed9e2ba7 12
62
+ b: u32 4 0x7ffeedd64ba4 12
63
- b_ref: &u8 8 0x7ffeed9e2ba8 0x7ffeed9e2ba7
63
+ b_ref: &u32 8 0x7ffeedd64ba8 0x7ffeedd64ba4
64
64
  ```
65
65
 
66
66
  参照`a_ref`はそのサイズは8バイト(64ビット)で、値として`a`が置かれているアドレスを持っていることが確認できます。

2

誤字を修正しました

2019/03/01 00:07

投稿

tatsuya6502
tatsuya6502

スコア2055

answer CHANGED
@@ -63,4 +63,4 @@
63
63
  b_ref: &u8 8 0x7ffeed9e2ba8 0x7ffeed9e2ba7
64
64
  ```
65
65
 
66
- 参照`a_ref`はそのサイズは8バイト(64ビット)で、値として`a`が置かれているアドレスを持っていることが確認できます。
66
+ 参照`a_ref`はそのサイズは8バイト(64ビット)で、値として`a`が置かれているアドレスを持っていることが確認できます。

1

説明を少し追加しました

2019/02/28 23:06

投稿

tatsuya6502
tatsuya6502

スコア2055

answer CHANGED
@@ -1,4 +1,4 @@
1
- 参照(`&`)はポインタの一種で、その値は、それが指しているデータのメモリ上のアドレスになります。アドレスは64ビットOSでは64ビットになります。
1
+ 参照(`&`)はポインタの一種で、その値は、それが指しているデータのメモリ上のアドレスす。アドレスは64ビットOSでは8バイですので、参照の値のサイズも8バイトになります。
2
2
 
3
3
  簡単なプログラムを作ってみました。
4
4