当前位置: 首页 > news >正文

07 Linux补充|秋招刷题|9月6日

目录

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)空指针不等同于未初始化的指针,未初始化的指针通常指野指针,即空指针不是野指针,野指针可以指向任何地方(乱指一气),可能会造成非法访问内存地址,而空指针它不指向任何对象。

(3)在源码中用来表示空指针的常量是整数0,NULL使指针指向0,大多数系统中都将0作为不被使用的地址(所以上面才说NULL不指向任何数据),但也有些系统会使用0,任何把NULL定义为其它任意值,所以也不能认为NULL就等于0。

http://www.lryc.cn/news/158137.html

相关文章:

  • 【JavaGuide学习笔记】Day.1
  • 大数据课程K18——Spark的ALS算法与显式矩阵分解
  • Android Jetpack架构组件库:Hilt
  • 企业帮助中心如何在线搭建,还能多场景使用呢?
  • C++ primer plus第十五章编程练习答案
  • 【精品】商品规格 数据库表 设计
  • 无人机集群路径规划MATLAB:孔雀优化算法POA求解无人机集群三维路径规划
  • Dockerfile创建镜像异常问题解决
  • 使用libcurl请求https的get/post
  • AUTOSAR规范与ECU软件开发(实践篇)7.3 MCAL模块配置方法及常用接口函数介绍之GPT的配置
  • Android 性能优化--内存优化分析总结
  • buuctf web 前5题
  • stable diffusion实践操作-提示词-人物服饰
  • Tomcat加载静态资源--防止SpringMVC拦截
  • 【AI数字人】如何基于ER-NeRF自训练AI数字人
  • 多目标应用:基于多目标哈里斯鹰优化算法(MOHHO)的微电网多目标优化调度研究MATLAB
  • [运维|中间件] 东方通TongWeb忘记密码后修改密码
  • 无涯教程-Android Mock Test函数
  • 保留网络[02/3]:大型语言模型转换器的继任者”
  • 微信小程序-生成canvas图片并保存到手机相册
  • 设计模式8:代理模式-动态代理
  • tcp字节传输(java)-自定义包头和数据识别
  • pyspark 系统找不到指定的路径; \Java\jdk1.8.0_172\bin\java
  • UE4 Physics Constraint Actor 实现钟摆效果
  • UE4/UE5 动画控制
  • Springboot整合shiro
  • 阻塞/非阻塞、同步/异步(网络IO)
  • 为什么大家会觉得考PMP没用?
  • AVR128单片机 USART通信控制发光二极管显示
  • 为什么5G 要分离 CU 和DU?(4G分离RRU 和BBU)