C语言
文章平均质量分 75
WEIv.
这个作者很懒,什么都没留下…
展开
-
C语言:内存重叠
内存重叠:拷贝的目的地址在源地址范围内。所谓内存重叠就是拷贝的目的地址和源地址有重叠。在函数strcpy和函数memcpy都没有对内存重叠做处理的,使用这两个函数的时候只有程序员自己保证源地址和目标地址不重叠,或者使用memmove函数进行内存拷贝。memmove函数对内存重叠做了处理。下面举例一个可能会发生内存重叠的问题:有n个整数,使前面的各数顺序向后移m个位置原创 2017-10-27 13:37:36 · 625 阅读 · 0 评论 -
C语言:可变参数编程
可变参数编程:一般我们编程的时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的实际参数。但在某些情况下我们希望函数的参数个数可以根据需要确定,因此c语言引入可变参数函数。典型的可变参数函数的例子有printf()、scanf()等int printf(constchar *format, ...);int scanf(constchar *f原创 2017-11-11 23:14:19 · 341 阅读 · 0 评论 -
C语言:递归
递归算法:递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数).如何设计递归算法1.确定递归公式2.确定边界(终了)条件递归与栈:函数递归是利用系统中栈进行操作的,通过对栈帧的一系列操作,从而实现递归。这个过程是由系统原创 2017-10-24 12:23:55 · 3992 阅读 · 1 评论 -
C语言:断言,指针的算数运算
一:断言的使用:assert(断言):断言该结果一定成立。如果表达式为真则忽略,否则终止崩溃。相当于一个if语句:if(假设成立){ 程序正常运行;}else{ 终止程序(避免由程序运行引起更大的错误) }1.断言在debug版本下显示,在release版本下assert自动失效。2.在调试结束后,可以通过在包含#include原创 2017-10-17 09:00:42 · 418 阅读 · 0 评论 -
C语言:字符串函数的实现
字符串函数:如何自己编写strlen,strcpy, strcat, strcmp, atoi , itoa1.strlen:计算字符串长度.它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。int Mystrlen(const char原创 2017-10-23 20:25:02 · 386 阅读 · 0 评论 -
C语言:结构体
struct:“结构体”是一种构造数据类型,现在一般叫做用户自定义数据类型,它是由若干“成员”组成的。 每一个成员可以是一个基本数据类型或者又是一个构造类型。 结构即是一种“构造”而成的数据类型, 那么在说明和使用之前必须先定义它,也就是构造它。如同在说明和调用函数之前要先定义一样。定义一个结构的一般形式为:原创 2017-10-24 09:37:16 · 232 阅读 · 0 评论 -
C语言:文件函数 fopen(),fclose(),fwrite(),fread()
文件打开函数:fopenfopen函数是在当前目录下打开一个文件,其调用的一般形式为:文件指针名=fopen(文件名,使用文件方式); ex:FILE *fr = fopen(srcpath,"r");FILE *fw = fopen(despath,"w");FILE *fr =fopen("c:\\1.test","rb");其意义是打开C驱动器磁盘原创 2017-10-26 16:25:17 · 3968 阅读 · 0 评论