首页 > 其他分享 >嵌入式开始之结构体,结构体指针

嵌入式开始之结构体,结构体指针

时间:2024-02-02 10:11:22浏览次数:23  
标签:Person unsigned 嵌入式 char person 指针 ptr 结构

## 结构体定义
typedef struct 
{
	unsigned char slot;         		//°å¿¨²Ûλ
	unsigned char port_num;     		//°å¿¨¶Ë¿ÚÊý
    unsigned char PN[30];             	//°å¿¨PNºÅ
  	unsigned char SN[30];             	//°å¿¨SNºÅ
  	unsigned char SW_Version[16];    	//°å¿¨Èí¼þ°æ±¾
  	unsigned char HW_Version[16];     	//°å¿¨Ó²¼þ°æ±¾
    unsigned char cpld_version[16];     //°å¿¨CPLD°æ±¾
	ETHENET_ADDRESS_T ethernet;
	unsigned char card_type;           //ST_CARD_TYPE_E
	unsigned char state;              //ST_CARD_STATE_E
	INT16 temp_airin;
	INT16 temp_airout;
	unsigned char sub_card_type;      //ST_SUB_CARDTYPE_E
}CARD_MUX_INFO_T;
## 声明一个结构体
CARD_MUX_INFO_T *card_info = get_card_info();

如何获取结构体card_info成员的地址

在C语言中,.->都是用于访问结构体成员的运算符,但它们的使用场景略有不同。

.运算符用于访问结构体变量的成员,而->运算符用于访问指向结构体的指针的成员。

例如,假设有以下结构体定义:

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

如果我们有一个Person类型的结构体变量person,我们可以使用.来访问其成员:

Person person;
person.age = 25;
strcpy(person.name, "John");

如果我们有一个指向Person类型的指针ptr,我们可以使用->来访问其成员:

Person *ptr = &person;
ptr->age = 30;
strcpy(ptr->name, "Alice");

在这个例子中,ptr->ageptr->name分别访问了指针ptr所指向的结构体的成员age和name。

因此,.用于直接访问结构体变量的成员,而->用于访问指向结构体的指针的成员。

标签:Person,unsigned,嵌入式,char,person,指针,ptr,结构
From: https://www.cnblogs.com/codedingzhen/p/18002625

相关文章

  • 结构体
    1.结构体与结构体指针1.1结构体的定义、引用、初始化声明一个结构体类型的一般形式如下。首先声明结构体类型,再定义变量名,如structstduentstu1,stu2;struct结构体名{成员表列};注意,结构体的初始化只能在一开始定义,即如果结构体变量已经定义,那么只能对它的每个成员单独......
  • 痞子衡嵌入式:我入选了2023年度与非网(eefocus)最佳创作者Top15
    最近收到了「与非网」发来的2023年度最佳创作者证书,证书做得一如既往地有质感,这是与非网第二次给痞子衡发证书了,足见与非网对痞子衡的认可。与非网自2021年起,每年都会评选一次年度创作者,第一年叫星选创作者TOP10,第二年叫影响力创作者TOP10,第三年也就是今年变成了最佳创......
  • 快慢指针
    快慢指针指两个指针从同一侧开始遍历序列,且移动步长一个快一个慢,快的为快指针,慢的为慢指针。称快指针为r,慢指针为l,构成区间[l,r]。直到满足某些条件时为止。求解步骤l一般为1,r一般为0,即初始区间为[1,0],表示空区间。满足一定条件时慢指针右移,满足另一条件时快指针右移,保证区间......
  • 代码随想录算法训练营第九天| 28. 实现 strStr() 459.重复的子字符串 字符串总结 双
     28.实现strStr()给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从0开始)。如果 needle 不是 haystack 的一部分,则返回  -1 。题目链接:28.找出字符串中第一个匹配项的下标-力扣(LeetCode)思路:标......
  • 指针扫描型字符串算法
    【最小表示法】最小表示法循环表示:从一个位置开始向后遍历,到末尾再倒回去最前面。一个字符串(数组)一共有\(n\)个。最小表示法就是最小的循环表示。例如,31491的最小表示法是13149.如果我们用打擂台比大小的方式,因为字符串之间比较需要时间,总共是\(O(n^2)\)的,太慢......
  • HTTP报文结构详解
    HTTP/HTTPS简介HTTP协议是HyperTextTransferProtocol(超文本传输协议)的缩写,是用于从万维网(WWW:WorldWideWeb)服务器传输超文本到本地浏览器的传送协议。HTTP工作在TCP/IP协议体系中的TCP协议上,是一个基于TCP/IP通信协议来传递数据(HTML文件、图片文件、查询结果等)。HT......
  • python的十大数据结构之堆队列heapq(heap queue)
    heapqueque(堆队列),是一个完全二叉树,并且满足一个条件:每个节点(叶节点除外)的值都大于等于(或小于等于)它的子节点。提供了构建小顶堆的方法和一些小顶堆的基本操作方法(如入堆、出堆等),可以用于实现堆排序算法。创建堆的两种方法:importheapqlists=[3,10,20,52,2,83,52......
  • CEIT算法训练-双指针部分题解(T1-3)
    AnagramSearch题意简述两个字符串\(s\)和\(t\)相似的定义为:\(s\)可以打乱之后重新排列成为\(t\)。题目给出\(a\)和\(b\),问\(a\)中有多少子串(连续的一段)与\(b\)相似。同时,\(a\)中还含有\(?\)字符,他可以等价于任何字符(可以变成任何字符)解题思路实际上,根据题......
  • 《计算机体系结构》观后感
    《计算机体系结构》这本书为我们揭示了计算机系统的内部工作原理和构造方式。从其理论部分到实际应用,从硬件实现到软件交互,都为我们提供了全面的知识体系。作为一本计算机科学的经典之作,它不仅帮助我深入理解计算机的内部工作机制,更让我意识到在实际工作中,如何更好地运用这些知识,......
  • ubuntu20嵌入式开发环境搭建
    vmware安装ubuntu20安装步骤:省略。网上有很多教程,不做笔记了。值得注意的一点:安装时先选择中文安装,会默认带有中文输入法。更换源首先输入下面的命令,备份原来的,以免出问题无法恢复。sudocp/etc/apt/sources.list/etc/apt/sources.list.bak使用vim编辑器打开,删掉里面的......