1 #include <stdio.h> 2 #include <stdlib.h> 3 4 5 void allarray(int *arr, int size, int value) 6 { 7 arr = (int*)malloc(size * sizeof(int)); 8 printf("arr = 0x%p ", arr); 9 if(arr != NULL) 10 { 11 for(int i=0; i<size; i++) 12 { 13 arr[i] = value; 14 printf("arr[%d] = 0x%p ", i,arr[i]); 15 printf("&arr[%d] = 0x%p ", i,&arr[i]); 16 } 17 } 18 } 19 20 int main() 21 { 22 23 int *vae = NULL; 24 allarray(&vae,5,45); 25 printf("%p ", vae); 26 printf("0x%p ", &vae); 27 printf("Hello world! "); 28 return 0; 29 }
显示结果:
1 arr = 0x003C6F68 2 arr[0] = 0x0000002D 3 &arr[0] = 0x003C6F68 4 arr[1] = 0x0000002D 5 &arr[1] = 0x003C6F6C 6 arr[2] = 0x0000002D 7 &arr[2] = 0x003C6F70 8 arr[3] = 0x0000002D 9 &arr[3] = 0x003C6F74 10 arr[4] = 0x0000002D 11 &arr[4] = 0x003C6F78 12 00000000 13 0x0028FF1C 14 Hello world!
所以是一个错误的例子。