C语言结构体代码记录

//描述学生  1,姓名  2.年龄  3.电话  4.性别   struct Stu  -结构体类型
typedef struct student {
	//成员变量
	char name[20];
	short age;
	char number[12];
	char sex[5];
}Stu;



void printf1(Stu tmp) {
	printf("name:%s\n", tmp.name);
	printf("age:%d\n", tmp.age);
	printf("tele:%s\n", tmp.number);
	printf("sex:%s\n", tmp.sex);
}

void printf2(Stu* ps) {
	printf("name:%s\n", ps->name);
	printf("age:%d\n", ps->age);
	printf("tele:%s\n", ps->number);
	printf("sex:%s\n", ps->sex);
}


int main() {
	struct student s1 = {"李四",40,"15599999099","男"};
	//打印结构体数据
	printf1(s1);
	printf2(&s1);
	
	return 0;
}

使用结构体传参的时候,最好使用地址来传,直接传值可能会因为结构体占用空间大,压栈的系统开销过大,导致程序性能的下降。 

struct S {
	int a;
	char c;
	char arr[20];
	double d;
};


struct T {
	char ch[10];
	struct S s1;
	char *pc;
};


int main() {
	char arr[] = "hello bit\n";
	struct T t = { "hehe",{1,"w","xixi",3.14},arr};
	printf("%s\n",t.ch);
	printf("%d\n",t.s1.a);
	printf("%s\n",t.s1.arr);
	printf("%lf\n",t.s1.d);
	printf("%s\n",t.pc);

	return 0;
}

结构体创建和初始化,结构体内部可以定义数组,基本数据类型,指针,结构体等变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值