
C/C++
cjok376240497
这个作者很懒,什么都没留下…
展开
-
About volatile
About volatile由于访问寄存器的速度要快过RAM,所以编译器一般都会作减少存取外部RAM的优化,但有可能会读脏数据。当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。而且读取的数据立刻被保存原创 2011-10-07 13:37:43 · 667 阅读 · 0 评论 -
About const
About constconst是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。 虽然这听起来很简单,但实际上,const原创 2011-10-07 13:36:18 · 676 阅读 · 0 评论 -
野指针和内存泄露
内存泄漏也称作“存储渗漏” 用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。即所谓内存泄漏。内存泄漏概念 简单的说就是申请了一块内存空间,使用完毕后没有释放掉。它的一般表现方式是程序运行时间越长,占用内存越多,最终用尽全部内存,整个系统崩溃。由程序申请的一块内存,且没有任何一个指针指向它,那么这块内存就泄露了。泄漏的分类原创 2011-10-07 13:42:09 · 2873 阅读 · 1 评论 -
About Extern “C”
About Extern “C”1.引言C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对原创 2011-10-07 13:39:34 · 768 阅读 · 0 评论 -
运行时数据结构
运行时数据结构[段]文本段也称为代码段;数据段包含经过初始化的全局和静态变量以及它们的值;BSS(block started by symbol)段包含未初始化的全局变量和静态变量;堆栈段(stack)包含局部变量、临时数据、传递到函数中的参数等,运行时产生;堆(heap)用于动态分配的内存(malloc),平常所看到的段错误和内存泄露就是发生在堆里的; [可执行文原创 2011-10-13 22:20:01 · 1108 阅读 · 0 评论 -
单链表的操作
单链表的操作 为了准备笔试,写了几个单链表的操作,包括建链,删链,插入节点,删除节点和链表倒序。struct node { int data; struct node *next;};struct node *create_list(){ struct node *p, *q, *h; int i; p = h = (struct node *)mal原创 2012-03-17 19:21:59 · 974 阅读 · 0 评论 -
一个C笔试题引出一系列的问题
一个C笔试题引出一系列的问题下段代码的输出是什么?(这是我做过的一个C笔试题目,当时213了,没有给出完全正确的答案,现在来分析总结一下,防止下次再出现这种213的错误)int main(void){ int a[] = {6, 7, 8, 9, 10}; int *p = a; *(p++) += 123; /* 其实没必原创 2012-03-19 15:37:28 · 2061 阅读 · 2 评论 -
一些C语言题
一些C语言题**此文是转载高手的blog,源地址无法找到,本人进行少量的修改和添加了一些内容**[预处理器(Preprocessor)] 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 *365)UL 我在这想看到几件事情:1). #define原创 2011-10-15 10:50:11 · 1591 阅读 · 0 评论