长度
(2)strcpy(s1,s2) 把字符串s2中的内容拷贝到字符串s1 中去,返回s1 strncpy(s1,s2,n) 把s2中前n个字符拷贝到s1中,返回s1 注:不会自动拷入字符串结束标志,需手动给s1放置字符串结束标志
(3)strcat(s1,s2) 把s2 的内容连接到s1后,s1成为一个新串,返回s1
strncat(s1,s2) 把s2中前n个字符内容连接到s1后,返回s1,如果n超过s2 实际长度,以实际长度为准
(4)strcmp(s1,s2) 比较s1和s2的大小,返回:s1>s2,返回正数;s1=s2,返回0;s1 (5)mencmp(s1,s2,n) 比较s1和s2前n个字节,返回:s1>s2,返回正数;s1=s2,返回0;s1 注:如果两字符串相同且n大于字符串长度,memcmp会继续比较字符串结束标志后面的内存单元,直到不相等或达到次数n;而strcmp只要比到字符串结束标志就会结束。 (6)memcpy(s1,s2,n) 将s2中前n个字符拷贝到s1中,返回s1 menmove(s1,s2,n) 将s2中前n个字符拷贝到s1中,返回s1 区别如:char s[]=”hello,world”; memmove(s+2,s,10); //结果为“hehello,worl” 考虑内存区域重叠问题 memcpy(s+2,s,10); // 结果为“hehehehehehe” s[12]=’\\0’; (7)Memset(s,c,n) 把字符串s中前n个字节内容设置为c (8)strlwr(s) 把字符串s中大写字母转换为小写字母 strupr(s) 把字符串s中小写字母转换为大写字母 补充:sizeof(s)求数组s占用的空间字节数 第六章 函数 1、定义函数的变量注意:形参变量名不能重复,每个变量名必须单独定义;函数内定义的变量名不能与形参列表变量名重名;函数体内变量定义语句必须写在函数体开头部分 函数类型一般默认为int 型 2、形参:定义函数时 实参:调用函数时 实参 形参 主调函数 被调函数 返回值 Return语句: 函数终止执行,并且返回到调用此函数的语句 3、局部变量:在函数内定义的变量,其作用范围局限于此函数内部 全局变量:定义在任何函数之外的变量,作用范围是从定义处直到文件末尾 同名时,局部变量优先使用 4、C语言的变量有4种存储类别: auto(自动变量) 只能在函数中定义,只有局部变量能定义 static(静态变量) 从被分配存储空开始,直到程序结束才被释放,局部和全局变量都可定义 如:static int c=3; register(寄存器变量) 只允许局部变量和少量形参定义;地址不可访问;类型必须为int、char、和指针型。频繁使用的变量放在寄存器中可以提高程序的执行效率 extern(外部变量) 只能用于全局变量的声明。在全局变量定义处之前访问 该变量,可用extern声明,扩展全局变量的作用域。注:在多文件中使用外部变量时,要考虑该变量的值可能在其他文件中被修改 5、内部函数:一个函数只能在本文件中可见而不能被其他文件调用 static 类型标识符 函数名(形参表) 外部函数:可以被其他文件调用,extern可省。在需要调用外部函数的文件中,必须先使用extern关键字声明外部函数的原型 第七章 预处理命令 1、编译预处理命令:放在函数之外,以“#”开头并且末尾不加分号的命令 预处理:指在编译前所做的处理,由预处理程序负责完成 C提供多种预处理功能:如宏定义(#define)、文件包含(#include)、条件编译 2、“宏”:用一个标识符来表示一个字符串。被定义为“宏”的标识符称为“宏名” “宏代换”或“宏展开”:编译预处理时,所有宏名用字符串去代换,分为有参和无参两种 3、#undef M //终止宏M的作用域 宏定义不占用运行时间,只占用编译时间,而函数则占用运行时间 4、条件编译(3种) #ifdef 标识符 #ifndef 标识符 #ifdef 常量表达式 程序段1 程序段1 程序段1 #else #else #else 程序段2 程序段2 程序段2 #endif #endif #endif 第八章 指针 1、存储器中的一个字节称为一个内存单元,内存单元的编号称为地址,通常把这个地址称为指针。存放地址的变量称为指针变量,一个指针变量的值就是某个内存单元的地址(指针)。 指针:一个变量的地址 指针变量:专门存放变量地址的变量 2、指针变量定义 类型说明符 *变量名 //*表示这是一个指针变量,类型说明符表示该指针变量所指向的变量的数据类型。 3、指针变量的赋值只能赋予地址。 & :地址运算符 * :指针运算符(或“间接访问运算符”),表示指针变量所指的变量,其后必须跟指针变量。 注:在指针变量说明中,*是类型说明符,表示其后的变量是指针类型;而表达式中出现的*则是一个运算符,表示指针变量所指的变量。 4、动态存储分配的几个相关函数 malloc(size)在内存的动态存储区中分配一个长度为size的连续存储空间,返回值是指针(指向字符),值是该分配区域的起始地址。如果此函数未能成功执行,则返回0。 calloc(n,size) 分配n个长度为size的连续空间,返回分配域的起始地址(指向字符)。 free(ptr) 释放由ptr指针变量(指向字符型的指针变量)指向的内存区域。 5、移动指针:指针变量加或减一个整数,功能:使指针变量指向相邻的存储单元 指针比较:两个指针指向同一个对象,可以进行<,<=,>,>=,==,!=等关系运算。 6、字符串常量是在内存中一段连续空间存放,字符串中每个字符占一个字节存放空间。 7、指针可以指向一个函数,一个函数在编译时被分配一个入口地址,这个地址就称为函数的指针。 指向函数的指针定义: 类型说明符(*指针变量名)(函数形参);//函数形参可省 如 char(*p)() 返回指针的函数定义 类型名 *函数名(参数表) 如char *m(a,b); 8、指针数组:若干指向同类对象的指针构成的数组 类型名 *数组名[数组长度] 如:float *p[10] 指向指针的指针:指针变量指向指针变量,其内容为某指针变量的地址 类型说明符 **指针变量名 第九章 结构体、公用体和枚举类型 1、结构体(struct)把不同类型的数据组织在一起并构造成一种新的数据类型 共用体(union)又称联合体,使几种不同类型的变量公用一段存储空间 枚举(enum)列举变量的取值范围,用此类型定义的变量只能取已列举的值 2、结构体类型定义 struct 结构体名 //结构体名可省 {类型名 结构体成员名1; ........ 类型名 结构体成员名n; }; 从关键字至右花括号之间的部分称为结构区分符,它是类型区分符的一种,用于指定结构的类型 结构体类型变量的定义 ?单独定义 ?混合定义 ?使用typrdef定义 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言程序设计复习知识总结 孙亚飞(2)在线全文阅读。
相关推荐: