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

02-16 10:22