我在动态分配的内存里保存了另一个变量的地址,然后再打印这个动态分配的内存和另一个变量地址。 group2里面 base和p3的地址是一样的,这个我理解,可是为什么 group1里的 buf和 p不一样呢?
#include <stdio.h>int main(int argc, char const *argv[]){ // group1
char buf[]="hello"; char *p=(char *)malloc(sizeof(char *));
*p=buf; printf("buf=%p\n", buf); printf("*p=%p\n", *p);
// group2
int base=1; int *p3=(int *)malloc(sizeof(int *));
*p3=&base; printf("base=%p\n", &base); printf("*p3=%p\n", *p3);
return 0;
}临摹微笑
相关分类