两个结构体通过结构体指针传值

本文介绍了一个C语言程序示例,展示了如何通过指针在不同结构体之间传递数据。具体实现是将一个结构体中的字符数组复制到另一个结构体的字符数组中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
	结构体之间通过指针传值 
*/

#include <stdio.h>
#include <string.h>

#define SALEN (sizeof(struct structA))
#define SBLEN (sizeof(struct structB))

typedef struct structA
{
	int a;
	char b[20];
	int c;
}*SA;

typedef struct structB
{
	char a[20];
	long b;
	char c;
}*SB;


/*
	将sb->a传给sa->b 
*/
int main(void)
{
	int temp=0;
	SA sa=(SA)malloc(SALEN);
	SB sb=(SB)malloc(SBLEN);
	system("color F4"); 
	printf("输入一串字符:");	
	scanf("%s",&(sb->a)); 
	printf("\n输入字符串:【%s】",sb->a);
	printf("\n开始转换,按1确认:");
	scanf("%d",&temp); 
	if(temp==1)
	{
		memcpy(&sa->b,&sb->a,sizeof(sb->a));
		printf("\n从sb->a 到 sa->b");
		printf("\n拷贝完成,结果是:【%s】\n\n",sa->b);
	} 
}

 运行结果:

  

 

转载于:https://www.cnblogs.com/achao123456/p/6305682.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值