结构体变量的3种输出方式

2.如何取出结构体变量的每一个成员

第一种(.)运算符,(结构体变量.成员);如st.age

第二种(*p)通过指针前提需要结构体地址存放于指针变量里如(*p).age;其实*p就等价于st

第三种 (->)通过指针运算符,指向某个结构体成员

即:(指针变量->结构体成员);如:p->age

pst->age;//第3种方式:指针变量->成员名,在计算机内部会被转换成(*pst).age也等价于st.age.因为pst=&st,所以*p等价于st

pst->age的含义:表示所指向的那个结构体变量中的age成员,指向age之后则pst->age就是age这个成员,如pst->age = 100;就会将age改成100,;类比如p=&i;则p就是&i,所以*p就是取&i的内容,*p就是i的值,如果i=10;即*p 也等于 10

*p:以p变量为地址的内容

代码部分:如何取出结构体变量的每一个成员

# include <stdio.h>

struct Student //声明结构体类型
{
	int age;
	float score;
	char sex;
};

int main()
{
	//总体初始化
	struct Student st = {80, 66.6f, 'W'};//定义结构体变量的同时并初始化

	struct Student* pst = &st; //指向该变量首地址

	st.age; //第一种方式:变量名.成员名
	pst->age;//第二种方式:指针变量.成员名,在计算机内部会被转换成(*pst).age
	(*pst).age;//第三种输出方式,*pst要加括号

	pst->age = 100;//改变age的值
	st.age = 88.8;
	
	printf("%d %3.1f\n",st.age, pst->score);

	return 0;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值