c语言给动态分配的内存赋一个字符串首元素地址,为什么这块动态分配内存保存的值和这个字符串地址不同?
【新手求助~】#include<stdio.h>#include<string.h>#include<stdlib.h>intmain(intargc,charconst...
【新手求助~】
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char const *argv[])
{
char buf[]="hello";
char *p=(char *)malloc(sizeof(char *));
*p=buf;
printf("buf=%p\n", buf); // buf=000000000022FE40
printf("*p=%p\n", *p); // *p=0000000000000040
return 0;
}
环境是win7 dev c++ 。 展开
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char const *argv[])
{
char buf[]="hello";
char *p=(char *)malloc(sizeof(char *));
*p=buf;
printf("buf=%p\n", buf); // buf=000000000022FE40
printf("*p=%p\n", *p); // *p=0000000000000040
return 0;
}
环境是win7 dev c++ 。 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询