我在动态分配的内存里保存了另一个变量的地址,然后再打印这个动态分配的内存和另一个变量地址。 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; }
临摹微笑
相关分类