| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
- #include<stdio.h>
 
 - #include<string.h>
 
 - #include<stdlib.h>
 
 - struct stu
 
 - {
 
 -         int id;
 
 -         int age;
 
 -         char name[128];
 
 - };
 
 - void memcpy_stu();
 
 - void memcpy_stu(struct stu *x,struct stu * y)
 
 - {        
 
 -         memcpy(x,y,sizeof(x));
 
 - }
 
 - int main()
 
 - {
 
 -         struct stu a = {1,18,"Over"};
 
 -         struct stu b;
 
 -         memcpy_stu(&b,&a);
 
 -         printf("a=%d %d %s\n",a.id,a.age,a.name);
 
 -         printf("b=%d %d %s\n", b.id, b.age, b.name);
 
 -         return 0;
 
 - }
 
  复制代码 
 
结果:a=1 18 Over 
          b=1 -858993460 烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫 烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫 
 
只把id给拷贝过去了,剩下的还是随机值,实在是想不明白了,求大佬告知
 本帖最后由 jackz007 于 2020-11-30 21:32 编辑 
       你需要传递的是一个 struct stu 完整结构的内存空间,而不是一个指针占用的内存空间。  
 
 
 |   
 
 
 
 |