关于结构体初始化的一个问题

本文探讨了结构体初始化的常见方法,包括错误示例和解决方案。通过实例,解释了不能直接用“=”赋值字符串给结构体成员,而应使用strcpy。同时,讨论了数组和指针在结构体初始化中的差异,并提出了使用strcpy初始化数组成员的方法。最后,作者提出一个未解决的问题,期待读者的解答。
摘要由CSDN通过智能技术生成

结构体的初始化

开始自学编程,但是编程之路困难重重,于是我打算将学习之中遇到的问题以及解决方案贴在这里,方便以后复习。
在这里插入图片描述
那我今天总结了一下结构体初始化的几种方法.如下:

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

typedef struct student
{
   
	char name[20];
	int age;
}stu;

int main()
{
   
	stu s1 = {
   "小明",18};//定义的同时初始化
	
	stu s2;
	s2 = (stu){
   "小红",17};//先定义再初始化
	
	stu s3;
	strcpy(s3.name,"小李");// 
	s3.age = 19; 
	
	stu s4 = {
   .name = "大白",.age = 20};//指定数据进行赋值(1) 
	
	stu s5 = {
   name : "小黑",19};//指定数据进行赋值(2) 
	
	printf("%s %d\n",s1.name,s1.age); 
	printf("%s %d\n",s2.name,s2.age); 
	printf("%s %d\n",s3.name,s3.age); 
	printf("%s %d\n",s4.name,s4.age
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值