目录
Linux
结构体内存字节对齐
静态变量static
空指针
Linux
结构体内存字节对齐
结构体内存字节要对⻬:
32位系统:4 8 32;64位系统:8 16 24
字节对⻬:字节对⻬是指在计算机中,各种类型数据按照⼀定的规则在空间上排列,以满⾜硬件平台对存储空间的处理要求。
静态变量static
(1)在修饰变量的时候,static 修饰的静态局部变量只执⾏初始化⼀次,⽽且延⻓了局部变量的⽣命周期,直到程序运⾏结束以后才释放。
(2)static 修饰全局变量的时候,这个全局变量只能在本⽂件中访问,不能在其它⽂件中访问,即便是 extern 外部声明也不可以。
(3)static 修饰⼀个函数,则这个函数的只能在本⽂件中调⽤,不能被其他⽂件调⽤。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* p=NULL;
我们用空指针NULL来初始化指针变量。
(1)我们常用的动态内存开辟函数,如malloc,calloc,realloc,如果它们开辟动态内存失败就会返回空指针,所以动态开辟函数后,都要判断是否开辟成功。
(2)空指针不等同于未初始化的指针,未初始化的指针通常指野指针,即空指针不是野指针,野指针可以指向任何地方(乱指一气),可能会造成非法访问内存地址,而空指针它不指向任何对象。文章来源:https://www.toymoban.com/news/detail-699656.html
(3)在源码中用来表示空指针的常量是整数0,NULL使指针指向0,大多数系统中都将0作为不被使用的地址(所以上面才说NULL不指向任何数据),但也有些系统会使用0,任何把NULL定义为其它任意值,所以也不能认为NULL就等于0。文章来源地址https://www.toymoban.com/news/detail-699656.html
到了这里,关于07 Linux补充|秋招刷题|9月6日的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!