南山网站设计费用,南通优普网站建设外包,网站 平均加载时间,全国文明城市创建内容目录 Linux
结构体内存字节对齐
静态变量static
空指针 Linux
结构体内存字节对齐
结构体内存字节要对⻬#xff1a;
32位系统#xff1a;4 8 32#xff1b;64位系统#xff1a;8 16 24
字节对⻬#xff1a;字节对⻬是指在计算机中#xff0c;各种类型数据按照⼀定…目录 Linux
结构体内存字节对齐
静态变量static
空指针 Linux
结构体内存字节对齐
结构体内存字节要对⻬
32位系统4 8 3264位系统8 16 24
字节对⻬字节对⻬是指在计算机中各种类型数据按照⼀定的规则在空间上排列以满⾜硬件平台对存储空间的处理要求。
静态变量static
1在修饰变量的时候static 修饰的静态局部变量只执⾏初始化⼀次⽽且延⻓了局部变量的⽣命周期直到程序运⾏结束以后才释放。
2static 修饰全局变量的时候这个全局变量只能在本⽂件中访问不能在其它⽂件中访问即便是 extern 外部声明也不可以。
3static 修饰⼀个函数则这个函数的只能在本⽂件中调⽤不能被其他⽂件调⽤。static 修饰的变量存放在全局数据区的静态变量区包括全局静态变量和局部静态变量都在全局数据区分配内存。初始化的时候⾃动初始化为 0。
4不想被释放的时候可以使⽤static修饰。⽐如修饰函数中存放在栈空间的数组。如果不想让这个数组在函数调⽤结束释放可以使⽤ static 修饰。
5考虑到数据安全性当程序想要使⽤全局变量的时候应该先考虑使⽤ static。
栈区先⼊后出FILO⾃动分配释放
队列先⼊先出
malloc⽤法开辟空间
free()释放malloc开辟的空间
动态分配内存原则
1谁建⽴谁释放
2在程序设计时应当预留⾜够的内存空间以避免频繁地进⾏内存分配和释放。 dmesg | tail 该命令会输出系统日志的最后10行
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
clock -w 将时间修改保存到 BIOS Linux系统下文件的是目录文件、普通文件、设备文件
用“rm -i ”系统会提示“是否真的删除”
列出一个目录下的所有文件需要使用命令 ls -a
在 Mac OS系统中怎样获取当前文件夹的路径打开 terminal把文件拖进terminal 窗口自动显示路径。
空指针
每一个指针类型都有一个特殊的值-----“空指针”。空指针与同类型的其他指针值都不同它“保证与任何对象或函数的指针值都不相等”也就是说空指针不会指向任何地方它不是任何对象或函数的地址。简单点说一个指针不指向任何数据我们就称之为空指针空指针用NULL表示。
int* pNULL;
我们用空指针NULL来初始化指针变量。
1我们常用的动态内存开辟函数如malloccallocrealloc如果它们开辟动态内存失败就会返回空指针所以动态开辟函数后都要判断是否开辟成功。
2空指针不等同于未初始化的指针未初始化的指针通常指野指针即空指针不是野指针野指针可以指向任何地方(乱指一气)可能会造成非法访问内存地址而空指针它不指向任何对象。
3在源码中用来表示空指针的常量是整数0NULL使指针指向0大多数系统中都将0作为不被使用的地址(所以上面才说NULL不指向任何数据)但也有些系统会使用0任何把NULL定义为其它任意值所以也不能认为NULL就等于0。