C语言
文章平均质量分 55
bit_
这个作者很懒,什么都没留下…
展开
-
C动态内存开辟
C动态内存开辟动态内存开辟:malloc calloc realloc 都是在堆上申请空间一、malloc和freevoid* malloc(size_t size);//动态开辟内存malloc向内存申请一块连续可用的空间,并返回指向这块空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针;如果开辟失败,则返回NULL。因此malloc的返回值一定要检查返回...原创 2018-07-24 15:19:51 · 214 阅读 · 0 评论 -
枚举和联合体
枚举和联合体枚举枚举顾名思义就是一一列举。把可能的取值一一列举出来。 比如,现实生活中:一周的星期一到星期日是有限的7天,可以一一列举。性别有:男、女、保密,也可以一一列举。月份有12个月,也可以一一列举。颜色也可以一一列举。……枚举的定义enum Day //星期{ Mon, Tues, Wed, Thur, Fr...原创 2018-08-19 15:13:13 · 1157 阅读 · 0 评论 -
位段
位段知识点概要:什么是位段位段的内存分配位段的跨平台问题总结什么是位段位段的声明和结构是类似的,有两个不同:位段的成员必须是 int 、unsigned int、signed int 。位段的成员名后面有一个冒号和数字。(这个数字用来限定这个成员所占内存的bit位)例1:struct S1{ int _a : 2; int _b :...原创 2018-08-19 11:18:49 · 322 阅读 · 0 评论 -
结构体内存对齐
结构体内存对齐先来看几个例题:例1:struct S1{ char C1; int i; char C2;};printf("%d\n", sizeof(struct S1));解析: char 为1个字节, int 为4个字节; char c1 从0偏移开始,占用一个字节;现在可用偏移为1偏移,接下来存放 int i ,1不是对齐数4 的...原创 2018-08-19 00:49:41 · 6653 阅读 · 2 评论 -
C语言中的变量的存储位置
变量的存储位置普通内存运行时堆栈硬件寄存器变量的缺省存储类型取决于它的申明位置。凡是在任何代码块之外声明的变量总是存储在静态内存中。不属于堆栈内存,这类变量称为静态变量。静态变量在函数运行之前创建。在代码块内部声明的变量的缺省存储类型是自动的,存储在堆栈中。对于在代码块内部声明的变量,如果给它加上 static 关键字,可以使它的存储类型由自动转变为静态。具有静态存储类型...原创 2018-08-18 15:51:01 · 9941 阅读 · 0 评论 -
C/C++ 程序内存的分配
C/C++ 程序内存的分配一个由C/C++编译的程序占用的内存大体分为以下几个部分:栈区(stack):由编译器自动分配释放,存放为运行函数而分配的局部变量、函数参数、返回数据、返回地址等。其操作方式类似于数据结构中的栈。堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS(操作系统)回收。分配方式类似于链表。全局区(静态区)(static):存放全局变量、静...原创 2018-08-18 13:33:15 · 449 阅读 · 0 评论 -
大小端的介绍
大小端的介绍什么是大端小端大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中。地址由低到高,数据由高到低。 小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据额高位保存在内存的高地址中。地址由低到高,数据也是由低到高。为什么有大端和小端因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8bit 。但是...原创 2018-08-18 09:49:10 · 676 阅读 · 0 评论 -
预处理详解
预处理详解预处理符号 __FILE__ // 进行编译的源文件 __LINE__ // 文件当前的行号 __DATE__ // 文件被编译的日期 __TIME__ // 文件被编译的时间 __SIDC__ // 如果编译器遵循ANSI C,其值为1,否则未定义这写预定义符号都...原创 2018-08-18 07:55:02 · 343 阅读 · 0 评论 -
restrict 和 volatile 的区别
编译器优化常用的方法是:将内存变量缓存到寄存器。restrict 和 volatile 都是C语言中关于编译器优化常用关键字restrict用来做优化的。只能用于约束和限定指针,并表明指针是访问一个数据对象的唯一且初始方式。即它告诉编译器,所有修改该指针所指向内存中内容的操作都必须通过该指针进行修改,而不能通过其他途径。这样的好处是:能帮助编译器进行更好的优化代码,生成更有效率的...原创 2018-08-12 15:32:42 · 1555 阅读 · 0 评论