news 2026/4/15 0:12:50

C语言中隐藏结构体的细节-使用struct结构体封装(定义和声明分离)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C语言中隐藏结构体的细节-使用struct结构体封装(定义和声明分离)


一、参考
https://www.cnblogs.com/qingergege/p/6882107.html

C Interfaces and Implementations
c实现和封装

https://bbs.huaweicloud.com/blogs/441780


二、设计
1.example.h文件
#ifndef SRC_EXAMPLE_H_
#define SRC_EXAMPLE_H_


typedef struct test_st test_t;
struct test_st;

void init_test(test_t *t);
void free_test(test_t *t);

#endif /* SRC_EXAMPLE_H_ */

2.example.c文件
#include "example.h"
#include "xil_types.h"
//#include "malloc.h"


struct test_st {
int count;
char name[10];
};

struct my_top {
test_t *test_inner;
test_t test_inner1;
}my_top1;


void top(){

init_test(&my_top1.test_inner1);
free_test(&my_top1.test_inner1);

}


void init_test(test_t *t) {
t = malloc(sizeof(test_t));
t->count = 0;
strcpy(t->name, "default");
}

void free_test(test_t *t) {
free(t);
}


3.main.c文件

int main(){
top();

}

三、说明
1.在c语言接口和封装时候,结构体的定义和声明进行隔离
2.隔离的目的是用于结构体内部内容对外不可见,你可以用,但是里面的细节不告知你,做到封装的作用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/11 21:07:14

BAT 精准提权脚本(直接提权优先 + UAC 兜底 + 全程校验无静默失败)

为你编写优先直接提权、失败弹 UAC 确认、全链路校验无静默异常的 BAT 脚本,彻底解决「提权检测误判、无报错无反馈、实际未提权却执行后续操作」的核心问题。脚本核心逻辑:先严格检测是否为管理员权限→是则直接执行业务→否则生成安全的 VBS 触发 UAC …

作者头像 李华
网站建设 2026/4/13 18:35:44

虚拟人:从数字分身到元宇宙公民的技术演进与未来展望

引言:什么是虚拟人?虚拟人(Digital Human/Meta Human)是通过数字技术构建的、具有数字化外形的虚拟人物,它们拥有类人外观、行为特征及交互能力。这些虚拟存在不仅具备人类的相貌、性别和性格特征,还能用语…

作者头像 李华
网站建设 2026/4/3 22:33:39

工业AI大模型:当工厂开始“深度思考”,一场静默的革命正在发生

凌晨三点,重庆某汽车零部件工厂的冲压产线突然响起刺耳的报警声。在过去,这意味着当班工程师需要一头扎进浩如烟海的故障手册与历史工单中,凭借经验和直觉摸索两小时以上。而此刻,系统在不到一秒的时间内,从后台调取了…

作者头像 李华
网站建设 2026/4/8 9:19:02

【强烈收藏】AI大模型发展史:从规则式AI到智能体应用的全方位解读

本文系统梳理了AI从诞生至今的发展历程,分为初生期(1956-1989)、成长期(1990-2016)和爆发期(2017年至今)三个阶段。从最初的规则式AI到基于机器学习的统计式AI,再到以Transformer架构为基础的大模型AI,技术不断演进。文章详细介绍了大模型、多…

作者头像 李华
网站建设 2026/4/12 11:34:44

AI Agent:2026年AI生态革命,开发者的收藏级技术指南

AI Agent 是2026年AI生态的核心概念,它指的是一个具备自主决策、规划和执行能力的数字实体,不再局限于简单的问答或生成式AI,而是能像人类员工一样处理复杂任务。简单来说,Agent 能理解用户意图、分解目标成步骤、调用外部工具或数…

作者头像 李华