当前位置: 首页 > news >正文

结构体指针的初始化以及结构体变量作为函数实参传递时易混淆的知识点

结构体指针初始化以及结构体变量作为函数实参传递时易混淆的知识点

首先要明确,结构体类型是用户自己定义的一种数据类型,其本质上与int, char等标准数据类型是一致的

**1.**因此,在进行结构体指针的初始化时,应该这样写:

# include <iostream>
using namespace std;
int main()
{typedef struct{int number;   //学号char sex;	  //性别	}stu; 
stu	x;
stu *p1=&x;   //定义结构体指针p1并初始化int a[3] = {1,2,3};int *p2=a;cout<<*p2<<endl;return 0;
}

stu *p1=&x;,而不应该写成stu *p1=x.前面已经说了,结构体类型是用户自己定义的一种数据类型,其本质上与int、char等标准数据类型是一致的,故结构体指针变量名并不代表结构体变量首地址,在对结构体指针进行初始化时要用& 结构体变量名指出地址,数组指针在初始化时这样写:int *p2=a; ,是因为数组名代表数组首地址。

2. 结构体变量作为函数实参传递时
···
void fun(stu student1)
{

}

int main()
{

stu student2; //定义结构体变量
fun(student2);
return 0;
}
···
形参是结构体变量名,故传给函数的实参是结构体变量名,它不代表结构体变量占用内存空间的首地址。

http://www.lryc.cn/news/464239.html

相关文章:

  • Github 2024-10-20 php开源项目日报Top10
  • C++ 算法学习——1.3 双向深度优先搜索
  • Artistic Oil Paint 艺术油画着色器插件
  • 记一次left join联表查询的索引失效场景
  • 从零到一:前端开发者学习 Cocos Creator 的全攻略
  • JavaWeb 19 AJAX
  • element plus中menu菜单技巧
  • 数据结构-贪心算法笔记
  • 基于SpringBoot的在线汽车票预订平台
  • ubuntu 安装nginx
  • fanuc远程PNS启动
  • 使用 Spring 框架构建 MVC 应用程序:初学者教程
  • 集成Spring Security详解
  • Kettle9.4支持Clickhouse数据源插件开发以及性能测试
  • 微信支付V3 yansongda/pay 踩坑记录
  • AndroidStudio实验报告——实验一、二
  • Nginx超简洁知识:负载均衡-反向代理,动静分离,配置文件
  • 云手机:社交平台运营的热门工具
  • iptables限速规则
  • 易泊车牌识别:海外车牌快速定制,开启智能识别新时代
  • 同一个交换机不同vlan的设备为什么不能通信
  • 《业务三板斧:定目标、抓过程、拿结果》读书笔记4
  • PRCV 2024 - Day2
  • 大厂面试真题-了解云原生吗,简单说一下docker和k8s
  • Python基础入门
  • 深入了解路由
  • 三大编程思想(POP、OOP、AOP、FOP)及oop 五大设计原则
  • JavaWeb开发4
  • Git中Update和Pull的区别
  • 物理安全概述