![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c
扶栏笑看花满园
很多人(我)并非真的没时间,而是把时间耗在了自己与自己的搏斗上。减少这些搏斗的时间,事情就会做出来
展开
-
结构体指针的内存分配问题
结构体指针的内存分配问题 https://blog.csdn.net/weixin_36209467/article/details/82261286原创 2021-03-11 14:12:14 · 416 阅读 · 1 评论 -
c语言中static关键字的作用
c语言中static修饰变量和修饰函数的作用不同 (1)在修饰变量的时候,static 修饰的静态局部变量只执行初始化一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放。 (2)static 修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是 extern 外部声明也不可以。 (3)static 修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。static 修饰的变量存放在全局数据区的静态变量区,包括全局静态变量和局部静态变量,都在全局数据区原创 2021-03-03 14:23:31 · 277 阅读 · 1 评论 -
static 静态全局变量和静态局部变量的特性
static 静态变量 一般在函数内部定义的变量,当程序执行到它的定义处时,编译器为它在栈区分配空间,函数在栈区分配的空间在此函数执行结束时会释放掉。 这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义为全局的变量,但定义一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围,使得在此函数中定义的变量,不仅仅只受此函数控制。 static关键字可以使变量的访问范围控制在函数内,并且保存值至下一次调用,所占内存在程序运行结束时释放。 静态全局变原创 2021-03-03 14:22:56 · 1996 阅读 · 2 评论 -
C语言 程序在内存中的结构
可执行文件加载进内存后形成的进程在内存中的结构,如下: 代码区:存放CPU执行的机器指令,代码区是可共享,并且只读的。 全局(静态)存储区: 数据区/全局初始化区/字符常量区:存放已初始化的全局变量、静态变量(全局和局部)、常量数据。 BBS区:存放的是未初始化的全局变量和静态变量,它们会被自动初始化为0。 栈区:由编译器自动分配释放,存放函数的参数值(形参)、返回值和局部变量,在程序运行过程中实时分配和释放,栈区由操作系统自动管理,无需程序员手动管原创 2021-03-03 14:18:35 · 538 阅读 · 0 评论 -
C、C++ typedef 定义与声明
C 定义结构体类型要用typedef typedef struct typedef struct man { int age; } stu; 这段代码定义了一个结构体变量struct man,别名 stu,声明变量有两种方法: struct man leo; stu leo; 此处 man 为 标识符,而 stu 是变量类型 typedef struct { int age; } stu; stu leo; 同上一段代码作用一样,但是声明变量只可以用 stu leo C++ typedef原创 2021-02-10 15:48:48 · 195 阅读 · 0 评论 -
kernel头文件大全
头文件分类 linux内核头文件根据与体系结构的关系,可以分为以下三大类: <linux/xxx.h> linux内核标准头文件,与体系结构无关,位于内核源码顶层include目录中。 <asm/xx.h> 与体系结构(CPU Core)相关的头的文件,位于体系结构目录下的include目录中,比如ARM,则位于arch/arm/include <mach/xx.h> 与具体的机器machine/板子(SOC)系统相关的头文件,位于某一系统结构(CPU Core)相关的特原创 2020-10-31 11:03:40 · 1179 阅读 · 0 评论