回答編集履歴
1
追記
answer
CHANGED
@@ -1,10 +1,15 @@
|
|
1
|
+
> 何がいけないのでしょうか?
|
2
|
+
|
3
|
+
引数の`p`は`char *`型なので、`p`を変更しても呼び出し元へは変更した結果は戻りません。
|
4
|
+
引数`char **p`として呼び出し元では、`A(&p)`としてアドレスを渡してください。
|
5
|
+
|
1
6
|
こういう事?
|
2
7
|
|
3
8
|
```
|
4
|
-
void foo(char*
|
9
|
+
void foo(char* p){
|
5
|
-
char *
|
10
|
+
char *mem;
|
6
|
-
|
11
|
+
mem = (char *)malloc(sizeof(char)*100);
|
7
|
-
|
12
|
+
p=mem;
|
8
13
|
}
|
9
14
|
|
10
15
|
void main (void){
|
@@ -22,10 +27,10 @@
|
|
22
27
|
こうしないとだめだよ
|
23
28
|
|
24
29
|
```
|
25
|
-
void foo(char**
|
30
|
+
void foo(char** p){
|
26
|
-
char *
|
31
|
+
char *mem;
|
27
|
-
|
32
|
+
mem = (char *)malloc(sizeof(char)*100);
|
28
|
-
*
|
33
|
+
*p=mem;
|
29
34
|
}
|
30
35
|
|
31
36
|
void main (void){
|