首先介绍4个动态存储分配的函数 如下:
函数名:功能,返回值。函数原型。
calloc: 分配n个数据项的内存连续空间,每个数据项的大小为size,成功返回分配内存单元的起始地址,如不成功,返回0。void * calloc(unsigned n,unsign size);
malloc: 分配size字节的存储区,返回所分配的内存区起始地址,如内存不够,返回0。void * malloc(unsigned size);
realloc: 将p所指出的已分配内存区的大小改为size,size可以比原来分配的空间大或小。返回指向该内存区的指针。void * realloc(void * p,unsigned size);
free: 释放p所指的内存区,无返回值。void free(void *p);
在介绍字符函数与字符寒函数时,首先我来对他们进行以下归类介绍。根据参数的划分,那么这里就有双参数全包含在字符串函数中。在19个字符、字符串函数中有且只有5个双参数函数。只有6个字符串函数,分别为strstr\strchr\strcat\strcmp\strcpy\strlen。最后一个strlen就是只有一个参数的字符串函数;根据头文件来划分,那么归为两类分别为:ctpye.h和string.h。六个字符串函数中除了strlen类型为:unsigned int跟strcmp类型为:int型其余四个都为char类型。另外的13个字符函数其类型都为int型。
下面就对这些函数进行详细的说明:
其排列分别为:函数名:功能,返回值。函数原型。所需包含文件。
strcat: 把字符串str2接到str1后面,str1最后面'\0'被取消。返回str1。string.h; char * strcat(char * str1,char * str2);
strchr: 找出str指向的字符穿中第一次出现字符ch的位置。返回指向该位置的指针,如找补到,则返回空指针。string.h; char * strchr(char * str,int ch);
strcpy: 把str2指向的字符串拷贝到str1中去。返回str1。string.h; char * strcpy(char * str1,char * str2);
strstr: 找出str2字符串在str1中第一次出现的位置(不包括str2的结束符)。返回该位置的指针,如找不到,返回空指针。string.h; char * strstr(char * str1,char * str2);
strcmp: 比较两个字符串str1、str2。str1<str2,返回负数。str1=str2,返回0。str1>str2,返回正数。string.h; int strcmp(char * str1,char * str2);
strlen: 统计字符串str中字符的个数(不包括终止符'\0')。返回字符个数。string.h; unsigned int strlen(char * str);
tolower: ch字符转换为小写字母。返回ch所代表的字符的小写字母。ctype.h; int tolower(int ch);
toupper: 将ch字符转换成大写字母,返回与ch相应的大写字母。ctype.h; int toupper(int ch);
isalnum: 检查ch是否是字母(alpha)或数字,是字母或数字返回1,否则返回0。(numberic)ctype.h; int isalnum(int ch);
isalpha: 检查ch是否是字母,是,返回1,不是则返回0。ctype.h; int isalpha(int ch);
iscntrl: 检查ch是否控制字符(其ASCII码在0和0x1F之间),是返回1,不是则返回0。ctype.h; int iscntrl(int ch);
isdigit: 检查ch是否数字(0~9),是返回1,不是返回0。ctype.h; int isdigit(int ch);
isgraph: 检查ch是否可以打印字符(其ASCII码杂0x21到0x71之间),不包括空格。是返回1,不是返回0。ctype.h; int isgraph(int ch);
islower: 检查ch是否小写字母 (a~z),是返回1,不是返回0。ctype.h; int islower(int ch);
isprint: 检查ch是否可打印字符(包括空格),其ASCII码所在0x20到0x7E之间。是返回1,不是返回0。ctype.h; int isprint(int ch);
ispunct: 检查ch是否标点字符(不包括空格),即除字母、数字和空格之外所有可打印字符。是返回1,不是返回0。ctype.h; int ispunct(int ch);
isspace: 检查ch是否空格、跳格符(制表符)或换行符。是返回1,不是返回0。ctype.h; int isspace(int ch);
isupper: 检查ch是否答谢字母(A~Z)。是返回1,不是返回0。ctype.h; int isupper(int ch);
isxdigit: 检查ch是否一个十六进制数字字符(即0~9,或A到F,或a~f)。是返回1,不是返回0。ctype.h; int isxdigit(int ch);