1.会出现段错误,因为p申请的堆区内存未返回给str,导致str仍然指向NULL,无法将"hello world"拷贝给str
2.会出现段错误,因为p是一个局部变量,函数结束时,p将被释放,不能返回它的地址,且打印语句错误
3.会打印出 hello 因为传入的是str的地址,用的是二级指针接,*p申请的内存就是str申请的内存,所以可以将 hello 拷贝给 str
4.可能会出现段错误,因为free(str)后,未让str指向NULL,导致str成为野指针,拷贝 world 时可能会出现段错误
5.a:int a b:int *a c:int **a d:int a[10] e:int *a[10]
f:int (*a)[10] g:int (*a)(int b) h:int (*a[10])(int b)
6.6,8或4,4
7.8或4
8.8或4
9.b
10.a
11.a
12.c
13.a
14.c
15.a
16.d
17.c
18.a
19.a
20.c