-
一、五大内存分区:
内存分成5个区,它们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
1、栈区(stack):FIFO就是那些由编译器在...
-
举例说明volatile:
volatile int i=10;
int j = i;
...
int k = i;
volatile 告诉编译器i是随时可能发生变化的,...
-
下面描述的是阳历换算阴历的算法原理。
阳历,有很强的规律性。每年12个月,1、3、5、7、8、10、12月都为31天;2月份平年28天,能被4除尽的年份里为29天,但1900年为...
-
这些函数由于设计的时候比较淳朴,并没有做任何的越界检测,主要容易"被溢出",只需要多设点检查边界,即安全。
函数
严重性
解决方案
get...
-
优先级
运算符
名称或含义
使用形式
结合方向
说明
1
[]
...
-
2048小游戏代码:
/*2048*/
#include<stdio.h>#include<stdlib.h>#include<conio.h&g...
-
如果有很强劲的逻辑能力,或者是构思已久的话,你可以写一个很复杂的表达式,但为了使代码方便阅读,最好一个表达式不要超过3个运算符。(这里的语句,并不包含代码块),使用自增或者自减看起...
-
引言 - 问题的构建
C大部分读取文件的时候采用fgetc, 最近在使用过程中发现性能不是很理想.都懂得fgetc每次只能读取一个字符, IO操作太频繁.
所以性能...
-
字符串(character string)就是一个或多个字符的序列。如:“hello world”,双引号不是字符串的一部分,而是通知编译器,这是一个字符串...
-
昨日在子函数中用malloc申请内存使用后,意外发现在free的时候出现异常错误,后经检查发现原来是实际使用时指针长度超过了申请的范围。
现总结一些使用malloc时要注意的地方...
-
为什么我用malloc分配了一个int的空间可以输入3个int?但是如果分配10个int,把3改成11,编译就会出错。为什么呢,我用devc++编译的
#include<s...
-
大内高手—常见内存错误
随着诸如代码重构和单元测试等方法引入实践,调试技能渐渐弱化了,甚至有人主张废除调试器。这是有道理的,原因在于调试的代价往往太大了,特别是调...
-
概述
Joel Spolsky认为,对指针的理解是一种aptitude,不是通过训练就可以达到的。虽然如此,我还是想谈一谈这个C/C++语言中最强劲也是最容易出错的要素。
鉴于...
-
应用场景:
我们使用多个scanf()的时候,如果输入缓冲区还有数据的话,那么scanf()就不会询问用户输入,而是直接就将输入缓冲区的内容拿出来用了,这就导致了前面的错误影响到...
-
方法一:access函数判断文件夹或者文件是否存在
函数原型: int access(const char *filename, int mODe);
所属头文件:io.h
...
-
函数原型:
printf(Control-String, item1, item2, ...);
表一 转换说明符及作为结果的打印输出
...
-
1.写在前面
数组表示的优势和弊端
二叉树同样有两种存储方式,数组和链式存储,对于数组来说,我们利用二叉树的性质然后利用下标可以方便的找到一个节点的子...
-
1.
要求输入一个正整数,打印下述图形
输入:5
输出:
*
**
***
****
*****
实现代码如下:
#include <stdi...
-
编译环境:windows 7 64位
编译工具:cODeblocks 13.12
备注:未使用graphics.h
数据结构:双向链表
1.程序未...
-
这里以串口作为传输媒介,介绍下怎样来发送接收一个完整的数据包。过程涉及到封包与解包。设计一个良好的包传输机制很有利于数据传输的稳定性以及正确性。串口只是一种传输媒介,这种包机制同时...