news 2026/6/16 12:13:57

c语言进阶 空间操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
c语言进阶 空间操作

如何访问一个空间

有名访问:通过名字访问变量,对于CPU,变量名只是地址的一个代号

无名访问:用一个地址进行编址,使用CPU进行访问

如何保存地址的值?

1.数字概念:足够存储地址的大小

2.物理含义:和普通数字有什么区别

c语言中如何用地址描述一个空间

1.一个具备地址大小的容量,如32位和64位的系统(对应4字节和8字节存储)

2.从1个单位跑到下一个单位 ep. int *p char *p2

#include<stdio.h> int main() { char * p1=(char *)100; int * p2=(int *)100; //建议要进行转换 }

如何读空间变量

int (*a5)[5] 5个5个访问 相当于一个每行5个元素的二维数组

char (*a[5])[4] ​ 声明了一个包含 5 个指针的数组,其中每个指针都指向一个由 4 个字符组成的一维数组。

多维空间存储

q:设计一个指针,可以存储二维或三维空间首地址

函数地址

函数名是这个空间地址的常亮值的代号

int (*funb)()

内存分为代码段code(read) 常量段rodata(read)数据段(r&w)堆段 malloc and free

栈区(局部变量) OS运行内存

从低位->高位

堆由程序员决定存亡 其他取决与程序的开始和结束

所以 char *s="dsdfsd"; 放在常亮段

char s[]="sdsdsdds"放在栈区

char *s=new char[23]="1145232" 放在堆区

static 字段的特点分析

函数一般是常亮(static 只读)

int fun() { static int a=10; a++; return a; }

如果在main函数中调用多次,a只会初始化一次,每次调用函数时 a+1;

空间权限访问需注意事项

-读写权限

ep char *p=(char *)100;

p[100000];//在c语言中,语法是允许的,同理p[-100000]也是允许的,因为c语言没有越界检查

int a=0x12345678; char buf[4]; buf[5]=0x99; //导致输出的内容为1234567899 12 34 56 78 buf【3】 buf 【2】 buf 【1】 buf 【0】
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/16 12:11:24

2026图片去水印免费方法手机电脑无痕去水印教程

怎么去水印图片&#xff1f;这是2026年最实用的个人收藏与学习向指南网上看到一张喜欢的图&#xff0c;但角落有个碍眼的水印&#xff1b;刷到一段精彩视频&#xff0c;却被博主ID遮住了关键画面——这种抓狂的时刻&#xff0c;你一定经历过。作为个人收藏、学习参考&#xff0…

作者头像 李华
网站建设 2026/6/16 12:07:53

模板驱动型文档操作系统:从内容到PDF的自动化交付

1. 项目概述&#xff1a;当模板不再是“套壳”&#xff0c;而是一套可执行的文档操作系统你有没有过这种体验&#xff1a;手头有一篇写得不错的行业分析&#xff0c;想快速做成一份体面的PDF报告发给客户&#xff0c;结果打开Word或InDesign&#xff0c;光是调封面字体、对齐目…

作者头像 李华
网站建设 2026/6/16 12:04:51

PS 图片大小怎么调整不变形?3 种等比例缩放完整实操教程

一、前言&#xff1a;本文解决的核心问题在Photoshop修图、平面设计、电商出图过程中&#xff0c;很多新手调整图片尺寸、缩放素材时&#xff0c;经常出现画面拉伸、主体压扁、人物失真、比例错乱等问题。变形后的图片无法用于主图展示、海报排版、自媒体配图等正式场景&#x…

作者头像 李华