1 #include<iostream>
2 #include<string.h>
3 #include<stdlib.h>
4 using namespace std;
5 // error!
6 void getPointer(char * pr, int num)
7 {
8
9 pr = (char *)malloc(sizeof(char)*num);
10
11 }
12
13 //正确
14 char * getd(char * pr, int num)
15 {
16
17 pr = (char *)malloc(sizeof(char)*num);
18
19 return pr;
20 }
21 //正确
22 void getc(char ** pr, int num)
23 {
24
25 *pr = (char *)malloc(sizeof(char)*num);
26
27 }
28
29
30 int main()
31 {
32 char * str = NULL;
33 getc(&str,100);
34 strcpy(str,"hrl");
35 cout<<"str:"<<str<<endl;
36 return 0;
37
38 }
2 #include<string.h>
3 #include<stdlib.h>
4 using namespace std;
5 // error!
6 void getPointer(char * pr, int num)
7 {
8
9 pr = (char *)malloc(sizeof(char)*num);
10
11 }
12
13 //正确
14 char * getd(char * pr, int num)
15 {
16
17 pr = (char *)malloc(sizeof(char)*num);
18
19 return pr;
20 }
21 //正确
22 void getc(char ** pr, int num)
23 {
24
25 *pr = (char *)malloc(sizeof(char)*num);
26
27 }
28
29
30 int main()
31 {
32 char * str = NULL;
33 getc(&str,100);
34 strcpy(str,"hrl");
35 cout<<"str:"<<str<<endl;
36 return 0;
37
38 }