-
一、程序的内存分配
一个由C/C++编译的程序占用的内存分为以下几个部分:
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,...
-
大内高手—常见内存错误
随着诸如代码重构和单元测试等方法引入实践,调试技能渐渐弱化了,甚至有人主张废除调试器。这是有道理的,原因在于调试的代价往往太大了,特别是调...
-
概述
Joel Spolsky认为,对指针的理解是一种aptitude,不是通过训练就可以达到的。虽然如此,我还是想谈一谈这个C/C++语言中最强劲也是最容易出错的要素。
鉴于...
-
基本术语定义
1.系统栈(system stack)是一个内存区,位于进程地址空间的末端。
2.在将数据压栈时,栈是自顶向下增长的,该内存区用于函数的局部变量提供内存。它也支持...
-
结构化程序设计主张按功能来分析需求,主要原则自顶向下,逐步求精,模块化等。
主张按功能把软件系统逐步细分,每个功能都负责对数据进行一次处理,每个功能接收一些数据,处理完后输出一些...
-
volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生rel...
-
1 对sizeof 的理解:
例子1:
void main()
{
int a = 2;
...
-
1、局部变量能否和全局变量重名?
答:能,局部会屏蔽全局。要用全局变量,需要使用"::"
局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全...
-
文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。
一、概念
对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数...
-
我们在C语言编程中会遇到一些参数个数可变的函数,例如printf()这个函数,它的定义是这样的:
int printf( const char* format, .....
-
位操作符
1、位与&
(1)一个&位与,两个&&是逻辑与
(2)真值表:1&0=0 0&1=0 0&0=0 1&...
-
1、关键字static的作用:
(1)定义静态局部变量,作用域从函数开始到结束,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值。
(2)在模块...
-
1 联合体
(1)联合体机制
联合体的所有成员引用的是内存中的相同地址。访问联合的不同成员时,会根据此成员的类型去访问对应的字节,并根据此成员的类型...
-
平台:x86/Debian GNU/Linux gcc
1 C源文件代码对应的指令
计算机是由数字电路组成的运算机器,只能对数字做运算。加载到内存中运行的文件被称之为可执行文件...
-
C语言的常用库函数
函数1。absread()读磁盘绝对扇区函数 原形:int absread(int drive,int num,int sectnum,void *buf) ...
来自
C语言|by
粽子糖果 |发表时间 2017-08-30
|0个回复
-
1.使用宏定义
在C语言中,宏是产生内嵌代码的唯一方法。对于嵌入式系统而言,为了能达到性能要求,宏是一种很好的代替函数的方法。
写一个“标准”宏MIN&...
来自
C语言|by
粽子糖果 |发表时间 2017-09-06
|0个回复
-
.数据指针
在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力。在嵌入式系统的实际调试...
来自
C语言|by
粽子糖果 |发表时间 2017-09-06
|0个回复
-
1.模块划分
模块划分的“划”是规划的意思,意指怎样合理的将一个很大的软件划分为一系列功能独立的部分合作完成系统的需求。C语言作为一种结构化的程序设计语言...
来自
C语言|by
粽子糖果 |发表时间 2017-09-06
|0个回复
-
char *Dosomething()
{
char i[32*1024];
memset(i,0...
来自
C语言|by
一见钟情 |发表时间 2017-09-08
|0个回复
-
Introduction to the Volatile Keyword认识关键字Volatile • 在内存中进行地址映射的设备寄存器;• 在中断处理程序中可...
来自
C语言|by
一见钟情 |发表时间 2017-09-08
|0个回复