c语言
qq_22918577
热爱运动,喜欢专研。
展开
-
C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别
从作用域看: 1>全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量。 2>静态局部变量具有局部作用域,它只被初始化一次,自从第一次被初始化直到程序运行结束都一直存在,它和全局变量的区别在于全局变量对所有的函数都是可见的,而静态局部变量只对定义自己的函数体始终可见。转载 2015-08-03 13:49:53 · 273 阅读 · 0 评论 -
C语言程序的存储区域
一.C语言程序的存储区域 1.由C语言代码(文本文件)形成可执行程序(二进制文件),需要经过编译-汇编-连接三个阶段。编译过程把C语言文本文件生成汇编程序,汇编过程把汇编程序形成二进制机器代码,连接过程则将各个源文件生成的二进制机器代码文件组合成一个文件。 2.C语言编写的程序经过编译-连接后,将形成一个统一文件,它由几个部分组成。在程序运行时又会产生其他几个部分,各个部分代表了不同的转载 2015-08-03 13:56:05 · 522 阅读 · 0 评论 -
C语言中volatile关键字的作用
1.编译器优化介绍: 由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编译器进行优化。编译器优化常用的方法有:将内存变转载 2015-08-03 14:06:04 · 232 阅读 · 0 评论 -
函数返回类型为指针类型时
1.先看程序: #include char *returnStr() { char *p = “tigerjibo”; return p; } int main() { char*str; str =returnStr();转载 2015-08-03 14:02:27 · 433 阅读 · 0 评论 -
linux下头文件
C/C++程序在linux下被编译和连接时,GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径。自己指定的路径就不说了,这里说明一下系统自动搜索的路径。 【1】include头文件路径 除了默认的/usr/include, /usr/local/include等include路径外,还可以通过设置环境变量来添加系统include的路径: # C原创 2015-10-07 20:15:37 · 502 阅读 · 0 评论 -
c/c++程序存储区
一般认为在c中分为这几个存储区 1栈 - 有编译器自动分配释放 2堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 3全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 程序结束释放。 4另外还有一个专门放常量的地方。 - 程序结束释放 在函数体中定转载 2015-10-10 21:38:28 · 385 阅读 · 0 评论 -
sha256
SHA有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要。 对于长度小于2^64位的消息,SHA256会产生一个256位(32byte)的消息摘要。 #include #include #include #define maxlen 1000000 typedef unsigned int uint; typedef unsigned ch原创 2016-06-15 11:05:38 · 1369 阅读 · 0 评论