c语言 第八章:内存管理、位运算
1.操作系统内存管理①内存分布②堆和栈的区别栈区1. 栈区用来保存局部变量、函数的形参返回值、及函数调用时的保护现场2.栈区由操作系统自动管理3.栈区默认大小为8M 比堆区空间小4.栈的访问效率要比堆的访问效率高堆区1.堆区由开发人员手动申请和释放使用完时及时释放否则造成内存泄露。2.堆区空间比栈空间大访问效率相对较低。③堆区空间使用场景在函数中开辟的空间希望随着函数结束该空间任然存在可以去堆上开辟。当需要的空间比较大时可以去堆上开辟栈区空间有限默认8M。堆区空间使用动态内存分配void *malloc(size_t size);功能向堆区申请内存空间参数size申请的空间字节数返回值成功返回申请到的空间首地址失败NULLvoid free(void *ptr);功能释放申请的堆区空间参数ptr申请到的堆区的空间首地址。void *calloc(size_t nmemb, size_t size);功能向堆区申请数组空间并清空成0参数nmemb申请的数组的元素个数size数组中的每个元素占的字节数返回值成功返回申请到的空间首地址失败NULL内存泄露程序运行过程中堆区申请的空间在使用完没有释放则造成内存泄露。避免内存泄露堆区申请的空间使用完及时使用free()进行释放。动态数组int *pa malloc(ARRAY_LEN*sizeof(int));if (NULL pa){printf(malloc error\n);return 0;}for (int i 0; i ARRAY_LEN; i){pa[i] i;}for (int i 0; i ARRAY_LEN; i){printf(%d , pa[i]);}printf(\n);2.位运算①位运算基础按位与 全1为1有0则0|按位或 有1则1全0为0^按位异或 相同为0相异为1~按位取反1取反为00取反为1按位左移 按位左移低位补0 num n num * 2^n按位右移 按位右移动有符号数高位补符号位无符号数高位补0num n num / 2^n9 60000 0000 0000 0000 0000 0000 0000 1001 0000 0000 0000 0000 0000 0000 0000 01100000 0000 0000 0000 0000 0000 0000 00009 | 60000 0000 0000 0000 0000 0000 0000 1001 |0000 0000 0000 0000 0000 0000 0000 01100000 0000 0000 0000 0000 0000 0000 11119 ^ 60000 0000 0000 0000 0000 0000 0000 1001 ^0000 0000 0000 0000 0000 0000 0000 01100000 0000 0000 0000 0000 0000 0000 1111~9~0000 0000 0000 0000 0000 0000 0000 10011111 1111 1111 1111 1111 1111 1111 01109 30000 0000 0000 0000 0000 0000 0000 1001 30000 0000 0000 0000 0000 0000 0100 10009 30000 0000 0000 0000 0000 0000 0000 1001 30000 0000 0000 0000 0000 0000 0000 0001②位运算的使用a.指定n位置10000 0000--》0000 10000000 0001 30000 10001010 0000 |0000 10001010 1000num num | 1 n;1010 0001 | 0000 0001 60100 00001110 0001b.指定第n位清01010 1010 ~(1 3)1111 01111010 00101111 0111 ~0000 1000 ~(1 3)num num ~1 n;0011 1100 1010 1010 ~(1 10) ~(1 11)1111 1011 1111 11110011 1000 1010 10101111 0111 1111 11110011 0000 1010 10100000 0100 0000 00001111 1011 1111 1111c.两数交换(不使用中间变量)方法一位运算无中间变量a a ^ b;b a ^ b;a a ^ b;》a ^ a 0a ^ 0 ab (a ^ b) ^ b a ^ b ^ b a ^ (b ^ b) a ^ 0 a;a a ^ b a ^ b ^ a 0 ^ b b;方法二有中间变量int tmp 0;tmp a;a b;b tmp;方法三求和方式无中间变量a a b;b a - b; a b -b aa a - b; a b - b a b - a位运算符的优先级~大于 大于大于^大于|

相关新闻

基于Transformer的金融时序预测与资产配置Token生成框架实践

基于Transformer的金融时序预测与资产配置Token生成框架实践

这次我们来看一个将金融数值预测与资产配置任务转化为“Token生成”问题的开源项目。项目标题“Financial Numerical Prediction and Allocation as Token Generation”直指其核心思路:它不再将股票价格预测或ETF组合构建视为传统的回归或优化问题,而是将…

2026/8/18 5:47:12 阅读更多 →
深入解析Linux开机启动流程:从固件到systemd的完整指南

深入解析Linux开机启动流程:从固件到systemd的完整指南

1. 项目概述:为什么开机流程值得深挖“Linux开机启动流程有一这篇就够啦!!!”——这个标题背后,是无数运维工程师、系统管理员乃至开发者都曾经历过的困惑时刻。系统启动不起来,屏幕上一串串滚动的日志让人…

2026/8/18 5:02:46 阅读更多 →
从零构建终端AI编程助手:基于大语言模型的Coding Agent实现

从零构建终端AI编程助手:基于大语言模型的Coding Agent实现

1. 项目概述:为什么要在终端里“手搓”一个Coding Agent? 如果你是一个重度命令行用户,每天花在终端里的时间比在图形界面里还多,那你可能和我有一样的“执念”:为什么所有酷炫的AI编程助手,比如GitHub Co…

2026/8/18 7:11:20 阅读更多 →

最新新闻

Docker容器化:解决游戏引擎开发环境配置与权限难题

Docker容器化:解决游戏引擎开发环境配置与权限难题

最近在游戏开发圈里,一个词的热度悄然攀升——“996引擎”。这并非指代某个具体的商业引擎,而是开发者们对那些需要投入大量时间、精力进行深度定制和优化的游戏引擎或项目的一种戏称。无论是自研引擎的攻坚,还是对现有引擎(如Uni…

2026/8/18 7:55:43 阅读更多 →
降AI率黑科技实测!降AIGC工具留学生亲测::Turnitin查重秒变“教授最爱”原创风

降AI率黑科技实测!降AIGC工具留学生亲测::Turnitin查重秒变“教授最爱”原创风

写论文用AI确实省心又高效,尤其是赶时间的时候,一键生成就能搞定大半内容,谁用谁知道。但别高兴太早,现在不少学校对AI痕迹的检测比查重还严格,Turnitin一查,轻则被打回重写,重则直接挂科影响毕…

2026/8/18 7:55:43 阅读更多 →
AI生产力工具本地部署与API集成实战指南

AI生产力工具本地部署与API集成实战指南

这次我们来看一个关于“智能体时代AI如何转化为持续生产力增长”的实践性话题。这不仅仅是概念讨论,而是聚焦于如何将各类AI模型和工具,通过本地部署、API集成和自动化流程,真正落地为可重复、可扩展的生产力工具。核心在于解决“能用、好用、…

2026/8/18 7:55:43 阅读更多 →
AI Agent编辑器实战:从零部署到自定义Skill开发全流程

AI Agent编辑器实战:从零部署到自定义Skill开发全流程

这类工具最值得先看的不是功能列表,而是能不能在普通开发环境里快速跑起来,以及它的“编辑器”到底解决了AI Agent开发中的哪些具体痛点。SuiAIStudio作为一个开源项目,定位是AI Agent和Skills的编辑器,这意味着它瞄准的不是最终用…

2026/8/18 7:55:43 阅读更多 →
钛酸锂电池技术路线在新能源汽车领域的应用与挑战

钛酸锂电池技术路线在新能源汽车领域的应用与挑战

1. 从一则旧闻说起:银隆新能源艾菲的“天价”上市 2019年5月,一则汽车新闻在当时并未掀起太大波澜,但如今回看,却像一枚投入湖面的石子,其涟漪至今仍在扩散。新闻标题是:“补贴前售43.00万元 银隆新能源艾菲…

2026/8/18 7:55:43 阅读更多 →
Cisco路由器ACL配置全解析:从基础原理到实战避坑指南

Cisco路由器ACL配置全解析:从基础原理到实战避坑指南

1. 项目概述:为什么ACL是网络工程师的“守门员” 搞网络运维或者安全的朋友,对Cisco路由器的ACL(访问控制列表)肯定不陌生。它就像是你网络边界的“守门员”,决定哪些数据包可以进,哪些必须拦在外面。而 a…

2026/8/18 7:54:43 阅读更多 →

日新闻

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 如果你还停留在"看网课 不停暂停 截图 …

2026/8/18 0:00:57 阅读更多 →
思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 你是不是也经历过这种时刻:设计稿里…

2026/8/18 0:00:58 阅读更多 →
华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, …

2026/8/18 0:00:59 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/17 2:58:27 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/17 2:58:30 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/17 2:58:32 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/17 18:54:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →