C语言
文章平均质量分 51
云淡风轻人却不轻
光网络接入设备
展开
-
聊聊 extern 变量 或 函数
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数转载 2017-06-29 17:48:28 · 670 阅读 · 0 评论 -
C语言 函数
通常情况下,函数必须在调用前进行定义,并且需要在头文件.h中进行定义。根据函数参数位置的不同,参数有实参和形参两种。实参是在用户调用函数时,传递给函数的实际参数。形参是在函数定义时,所设置的形式参数,该类型的参数并不具有实际意义,只是一个标志,表示参数的个数和类型。用户也可以在函数定义时,只使用数据类型作为函数形参。但是,为了使函数内部能够更好的使用到形参,最好还是显式地设置形式参数,而不能仅原创 2017-07-10 08:48:04 · 143 阅读 · 0 评论 -
C语言 bool类型
C语言里面是没有bool(布尔)类型的,C++里面才有,这就是说,在C++里面使用bool类型是没有问题的。bool类型有只有两个值:true =1 、false=0。 为了兼容各种编译器,可以自己定义。#typedef bool int 、、 #define bool char(用32位的int类型来当bool使用,这样无疑浪费了内存资源,因此对于内原创 2017-07-10 08:32:58 · 1539 阅读 · 0 评论 -
C语言运算符种类
1。赋值运算符 = 2。算术运算符 + - × /举例说明:float f1=1.2545;int f2=3;num=(int)f1-f2;输出的num=-2;显示格式:%1ff指浮点数 1表示位数用于scanf就是只读取一位数并存为一个浮点数;printf中就是至少输出1位。如程序int main(){float x1,原创 2017-07-09 11:45:02 · 669 阅读 · 0 评论 -
C语言 位域
所谓位域,就是把存储空间中的二进制位划分为几个不同的区域,并说明每个区域的位数,每个域有一个域名,允许在程序中按域名进行操作。struct 位域结构名{类型说明符 位域名:位域长度;.................类型说明符 位域名:位域长度;};计算位域结构体所占字节大小的规则:(1)当相邻位域的类型相同时,如果其位宽之和小于该类型所占用的位宽大小,那么后面的位域紧原创 2017-07-16 14:24:34 · 203 阅读 · 0 评论 -
C语言 指针 大端存储 小端存储
如何让十六进制数“0x0012FF7C”表示地址呢?使用“int *”将这个地址强制转化为指针。(int *)0x0012FF7C编译器保证由0转换而来的指针不等于任何有效的指针。常数0经常用符号NULL代替。将指针初始化为NULL,就是用0号地址初始化指针,绝对不能对该指针所指向的内存进行操作。NULL指针并不指向任何对象,但NULL可以用于赋值或比较运算。除此此外,任何因其原创 2017-07-13 08:42:08 · 618 阅读 · 0 评论 -
C语言 const static 静态变量 全局变量 局部变量
如何区分const char*p 和char* const p?画一条垂直线穿过上述指针声明的星号位置,如果const出现在线的左边,指针指向的数据为常量;如果const出现在线的右边,指针本身为常量,不能改变指针P的指向。(PS:人家说这样很简单,但是我觉得还是很难记。。。。)static 静态变量 静态变量和全局变量都储存在一个叫静态存储区的内存区域内。静态存储区与原创 2017-07-06 09:09:12 · 1200 阅读 · 0 评论 -
C语言 堆栈
堆栈原创 2017-07-16 10:56:36 · 284 阅读 · 0 评论 -
C语言编译 链接
如何防止头文件被重复包含#ifndef _HEADERNAME_H #define _HEADERNAME_H ...//(头文件内容) #endif编译器的基本任务只是理解程序,然后把理解的结果翻译成对应的机器码,并不需要生成可执行文件。编译器只需要确认每个标识符的类型,做到能认识它就可以了。编译器的另一个特点是单元编译,编译某个.c文件时,对其它原创 2017-07-11 08:51:55 · 189 阅读 · 0 评论 -
float double精度和取值范围
在IEEE754标准中进行了单精度浮点数(float)和双精度数浮点数(double)的定义。float有32bit,double有64bit。它们的构成包括符号位、指数位和尾数位。这些位的构成如下: 种类-------符号位-------------指数位----------------尾数位---- float---第31位(占1bit)---第30-23位(占8bit)---转载 2017-06-20 09:33:36 · 782 阅读 · 0 评论 -
C语言 运算符
C语言有三大类运算符 :算术 、关系与逻辑、位操作。C语言还有一些特殊的运算符,例如赋值运算符、条件运算符、指针运算符。C语言中两种有特色的运算符为复合赋值运算符和自增(减)运算符。C语言中的前缀和后缀 都是复制一份变量的拷贝,然后将这份拷贝用于周围的表达式中。m = *P++;等价于下面两句m = *p; p++;说明:单目运算符都是右结合的,所以m = *(P+转载 2017-06-20 11:00:27 · 185 阅读 · 0 评论 -
程序的内存布局——函数调用栈的那点事
函数调用栈转载 2017-09-03 17:21:12 · 274 阅读 · 0 评论