質問編集履歴

1

追記:解決内容

2020/09/06 23:18

投稿

mjk
mjk

スコア303

test CHANGED
File without changes
test CHANGED
@@ -32,7 +32,61 @@
32
32
 
33
33
  ---
34
34
 
35
+ #回答とアドバイスを頂き試したこと
35
36
 
37
+
38
+
39
+ `memcpy(b, c, sizeof(*c) * AS);`
40
+
41
+ 配列の要素数AS(=3)を掛けたらうまくいきました。
42
+
43
+ 8 x 3 = 24 byte?
44
+
45
+
46
+
47
+ うまくはいきましたが**この書き方が一般的なのでしょうか?**
48
+
49
+ アドバイスなどあればコメントください。
50
+
51
+
52
+
53
+ ```C
54
+
55
+ void funcB(const char *c[AS]) {
56
+
57
+ char *b[AS];
58
+
59
+ memcpy(b, c, sizeof(*c) * AS);
60
+
61
+ printf("%d %d\n", sizeof(*b), sizeof(*c));
62
+
63
+ printf("%d %d\n", sizeof(b), sizeof(c));
64
+
65
+ printf("%s %s %s\n", b[0], b[1], b[2]);
66
+
67
+ }
68
+
69
+ ```
70
+
71
+
72
+
73
+
74
+
75
+ ```output
76
+
77
+ 1 2 3
78
+
79
+ 8 8
80
+
81
+ 24 8 //←ここで気づきました
82
+
83
+ 1 2 3
84
+
85
+ ```
86
+
87
+ ---
88
+
89
+ #質問時のコード
36
90
 
37
91
  ```C
38
92