C语言基础:构造数据类型-结构体 memcpy系统函数

发布时间:2026/8/8 8:24:26

C语言基础:构造数据类型-结构体 memcpy系统函数
11、const修饰的指针const只读。只允许被访问不允许修改表示该变量只允许使用不允许被修改记得初始化const int num1const int *p; //同下 int const *p; //修饰*p*p的内容只读*pnum ×pnum √ int *const p; //修饰p指针p只读pnum × const int *const p; //同下 int const *const p; //指针p只读*p内容只读记得初始化12、void* 指针万能指针void*缺省类型的指针char*int*short*...这些指针不仅保存地址还有具体指向明确指向sizeof基类型个字节的空间void *p只是一个保存地址编号的变量void*--------char*int*short*...*int *pmemcpy系统函数#includestring.h memcpy(void *dst,const void *src,sizrof(a)) 内存重叠问题#includestdio.h #includestring.h void *mymemcpy(void *dst,const void *src,int size) { char *d(char *)dst; char *s(char *)src; int i0; for(i0;isize;i) { *(di)*(si); } return dst; } void show_mymencpy(void *dst,int len) { int i; char *d(char *)dst; for(i0;ilen;i) { printf(%c ,d[i]); } printf(\n); } int main() { char a1[100]{hello}; char a2[100]{0}; mymemcpy(a2,a1,sizeof(a1)); //int lenstrlen(a2); int lensizeof(a2)/sizeof(a2[0]); show_mymencpy(a2,len); }构造数据类型数据类型short、int、long、char、float、double、void指针类型构造数据类型结构体、共用体、枚举1、结构体1语法struct 名字{数据类型 成员1数据类型 成员2数据类型 成员3...};//声明了名为struct data的新的数据类型 struct data { int year; int mon; int day; struct time mytime; };注意1、声明结构体时{ }后的分号不可省略2、结构体内成员之间用分号隔开3、struct后面的名称可以省略匿名结构体4、结构体放在全局作用域2结构体变量定义结构体类型 变量名struct data mydatastruct{int year;int mon;int day;}mydata;声明结构体类型的同时定义了变量mydata3结构体初始化//全部初始化 struct data mydata{202686} struct data mydatatime{{2026,8,6},{14,6}}; //部分初始化 struct data mydata1 { .mon8, .day6 };4结构体数据成员访问通过结构体变量访问结构体成员变量名.成员1变量名.成员2变量名.成员3printf(%d,%d,%d, mydata.year, mydata.mon, mydata.day, };通过结构体指针访问结构体成员结构体指针-成员1结构体指针-成员2结构体指针-成员35结构体的存储方式原则1.结构体成员在内存中存储时成员必须存储在自己字节大小的整数倍位置2.结构体整体占内存大小一定是结构体中最大成员字节数的整数倍注意1.在不同操作位系统下相同结构体在内存中占用内存空间可能不一样。64位系统long类型和指针类型占8字节而32位系统long类型和指针类型占4字节2.可以强制让结构体按指定字节数对齐#pragma pack(1)//以下强制按1字节对齐 struct s {} #pragma pack()//取消1字节对齐6结构体做函数参数两种传参方式如果要在被调函数中修改主调函数中的结构体变量则传递结构体变量的地址如果在被调函数中仅使用主调函数中定义的结构体变量可以值传递也可以地址传递#includestdio.h struct stu { char name[32]; int age; int score; }; struct stu get_stu_info() { struct stu s; scanf(%s,s.name); scanf(%d,s.age); scanf(%d,s.score); return s; } void get_stu_info_1(struct stu *s) { scanf(%s,s-name); scanf(%d,s-age); scanf(%d,s-score); } int main() { struct stu s; sget_stu_info(); printf(%s %d %d\n,s.name,s.age,s.score); get_stu_info_1(s); printf(%s %d %d\n,s.name,s.age,s.score); return 0; }7.结构体数组struct 名称 数组名[元素个数]struct stu array[3]{{zhangsan,20,100},{lisi,21,90},{wanger,22,85}};array[下标]类型---》struct stu类型结构体数组的三种访问方式 printf(%s %d %d\n,s[i].name,s[i].age,s[i].score); printf(%s %d %d\n,(si)-name,(si)-age,(si)-score); printf(%s %d %d\n,(*(si)).name,(*(si)).age,(*(si)).score);

相关新闻

Proteus仿真8086与8255:微机原理与接口技术的现代实践

Proteus仿真8086与8255:微机原理与接口技术的现代实践

2026/8/8 8:14:26

1. 项目概述:当经典微处理器遇见现代仿真工具如果你和我一样,是从那个“微机原理与接口技术”的年代过来的工程师,那么对“8086”和“8255”这两个名字一定有着刻骨铭心的记忆。它们不仅仅是教科书上的两个芯片型号,更是我们理解计…

嵌入式开发实战:从原理到代码,全面解析按键消抖技术

嵌入式开发实战:从原理到代码,全面解析按键消抖技术

2026/8/8 8:14:26

在数字电路和嵌入式系统开发中,按键输入是最基础也是最频繁的人机交互方式。然而,无论是机械按键还是薄膜按键,在按下和释放的瞬间,其金属触点都会因为物理弹性而产生一系列快速的、不稳定的通断,这种现象被称为“抖动…

Cocos Creator 3.8 × 微信小游戏:SLG 界面的纹理、图集与生命周期优化实战

Cocos Creator 3.8 × 微信小游戏:SLG 界面的纹理、图集与生命周期优化实战

2026/8/8 8:14:26

SLG 项目的主城、地图、背包、英雄列表通常包含大量头像、图标和品质框。如果只关注 PNG 文件大小,而忽略图集批次、GPU 纹理内存及资源释放,很容易出现: 打开英雄列表时瞬间掉帧;DrawCall 随列表项数量快速增长;连续…

测试报告自动化生成与可视化技术实践

测试报告自动化生成与可视化技术实践

2026/8/8 9:04:28

1. 测试报告自动化生成与可视化实战解析在软件研发和运维过程中,测试报告是质量保障的关键交付物。传统手工编写测试报告的方式存在效率低下、格式不统一、数据易出错等问题。我在金融和电商行业的测试实践中发现,采用自动化生成可视化呈现的方案&#x…

AI Agent工具使用实战:从ReAct框架到多工具智能体构建

AI Agent工具使用实战:从ReAct框架到多工具智能体构建

2026/8/8 9:04:28

1. 从“孤岛”到“桥梁”:为什么AI Agent必须连接外部世界 如果你最近在折腾各种AI模型,不管是ChatGPT、Claude还是国内的文心一言、通义千问,你可能会发现一个共同的瓶颈:它们好像什么都懂一点,但真要让它们干点实事&…

PotPlayer字幕翻译终极指南:5分钟解锁外语视频无障碍观看

PotPlayer字幕翻译终极指南:5分钟解锁外语视频无障碍观看

2026/8/8 9:04:28

PotPlayer字幕翻译终极指南:5分钟解锁外语视频无障碍观看 【免费下载链接】PotPlayer_Subtitle_Translate_Baidu PotPlayer 字幕在线翻译插件 - 百度平台 项目地址: https://gitcode.com/gh_mirrors/po/PotPlayer_Subtitle_Translate_Baidu 还在为看不懂的外…

触控屏贴合工艺全解析:框贴、全贴合与0贴合的技术原理与应用

触控屏贴合工艺全解析:框贴、全贴合与0贴合的技术原理与应用

2026/8/8 9:04:28

1. 项目概述:从“空气层”到“一体化”的视觉革命 在智能手机、平板乃至车载中控屏普及的今天,我们早已习惯了指尖在屏幕上丝滑流畅的操控体验。但你是否想过,为什么有些屏幕看起来通透亮丽,仿佛图像就浮在玻璃表面,而…

强力解锁3D打印完整工作流:Blender3mfFormat插件实现专业级模型导入导出

强力解锁3D打印完整工作流:Blender3mfFormat插件实现专业级模型导入导出

2026/8/8 9:04:28

强力解锁3D打印完整工作流:Blender3mfFormat插件实现专业级模型导入导出 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 在3D打印领域,你是否曾为…

二甲戊灵农药残留胶体金快速检测卡

二甲戊灵农药残留胶体金快速检测卡

2026/8/8 8:54:28

二甲戊灵农药残留胶体金快速检测卡,是适配叶菜、根茎、甘蓝类果蔬专项筛查的高精度农药残留胶体金快速检测试纸条(卡),严格依据GB 2763-2026新版国标限量规范研发生产。这款农药残留胶体金检测卡与农残胶体金检测卡品类适配广泛、抗基质干扰强劲、检测数…

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案

2026/8/6 19:19:00

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲&am…

分布式配置中心选型实战:Nacos与Consul在创业场景下的对比

分布式配置中心选型实战:Nacos与Consul在创业场景下的对比

2026/8/8 5:17:40

分布式配置中心选型实战:Nacos与Consul在创业场景下的对比工程导读:本文深入讨论 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 在生产工程实践中的核心落地方案。基于 分布式架构与微服务设计 视角,剖析实际痛点、架…

MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

2026/8/5 8:19:55

MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 【免费下载链接】MoneyPrinterPlus AI一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! 支持本地语音模型chatTTS,fasterwhisper,…

昇腾AI代理实现多号通话自动化

昇腾AI代理实现多号通话自动化

2026/8/8 0:03:20

基于昇腾(Ascend)硬件与AtomGit AI社区的开源生态,结合AI Agent技术,可以实现一个模拟“通话重复使用机号复制”功能的安卓手机应用原型。其核心是利用AI Agent进行意图理解、任务编排和自动化操作,模拟或管理多号码的…

2026年Graph+AI Agents最新创新思路

2026年Graph+AI Agents最新创新思路

2026/8/8 0:03:20

本次围绕GraphAI Agents这个方向筛选了15篇高质量论文,都是近年来具有较高引用价值或方法创新的研究工作,其中部分来自IJCAI、AAAI、ICRA。 对于论文er来说,这些论文方法结构清晰、可复现性较强,在多个任务上都有可延展的空间。如…

Wand-Enhancer 指南:5分钟解锁Wand专业版功能,永久移除2小时限制

Wand-Enhancer 指南:5分钟解锁Wand专业版功能,永久移除2小时限制

2026/8/8 0:03:20

Wand-Enhancer 指南:5分钟解锁Wand专业版功能,永久移除2小时限制 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 还在为Wan…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/8 5:07:31

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/7 8:02:42

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/8 2:30:15

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…