结构体与结构体怎么传值?

evils110120 2016-07-06 03:42:00
定义一个结构体
typedef struct _t1
{
int a;
int b;
char* c;
}t1;

两个相同的t1结构体之间怎么传递地址?
t1 a t1 b;
怎么把a的指针传给b;
这样? &b=&a?????
...全文
246 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灸舞 2016-07-06
  • 打赏
  • 举报
回复
试试memcpy?

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct _t1
{
	int a;
	int b;
	char* c;
}t1;

void main()
{
	t1 a = {1, 2, "sdf"};
	t1 b = {4, 5, "sdf"};
	t1 c;
	printf("%d-%d-%s\n", a.a, a.b, a.c);
	printf("%d-%d-%s\n", b.a, b.b, b.c);
	memcpy(&c, &a, sizeof(t1));
	memcpy(&a, &b, sizeof(t1));
	memcpy(&b, &c, sizeof(t1));
	printf("%d-%d-%s\n", a.a, a.b, a.c);
	printf("%d-%d-%s\n", b.a, b.b, b.c);
}

evils110120 2016-07-06
  • 打赏
  • 举报
回复
主要是 t1 a,在一个.h文件里赋值. 然后呢把a,传递给另一个.h里的t1 b.
赵4老师 2016-07-06
  • 打赏
  • 举报
回复
#include <stdio.h>
typedef struct _t1
{
int a;
int b;
char* c;
}t1;
t1 a={1,2,"a"},b;
int main() {
    b=a;
    printf("b.a,b.b,b.c:%d,%d,%s\n",b.a,b.b,b.c);//b.a,b.b,b.c:1,2,a
    return 0;
}
evils110120 2016-07-06
  • 打赏
  • 举报
回复
传值啊 .你复制错了.不是int ,是结构体. 同一个类型的结构体指针a,怎么传到b的问题?
bluewanderer 2016-07-06
  • 打赏
  • 举报
回复
int a; int b; &b = &a; 难道这样就可以? b不是个指针变量,为什么你会想把指针传给它?

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧