字符串的学习
发布时间:2022-09-13 15:11:52 所属栏目:PHP教程 来源:
导读: 字符串就是字符数组,和整形数组一样。其char str[ ]={'h','e','l','l','o'};当然也可以运用char str[ ]='hello';但一般用char*p="hello"。
char *pch
char *pch
|
字符串就是字符数组,和整形数组一样。其char str[ ]={'h','e','l','l','o'};当然也可以运用char str[ ]='hello';但一般用char*p="hello"。 char *pchar装填一个字符串常量,其不允许被修改。char str[ ]该形式为字符串变量,其中的值可以被修改。 对指向字符串常量的地址空间可以,对野指针的内存空间操作就不行,野指针:没有明确的内存指向。 字符串的内存存放方式一般在结尾都有结束标志‘\0‘。字符串和字符数组的不同:字符串的结束标志’\0'。字符数组则没有。故,在长度中字符串会比字符数组多1。一般在以后的操作中都用字符串的形式,以便防止在后面的输出中有乱码的出现。 关于sizeof和strlen的区别: 1.strlen计算有效字符的长度故相较于sizeof其不会计算结束标志‘\0’的长度 2.因strlen只计算字符串的有效长度,所以strlen只计算在地址中存放字符串,该字符串的长度,而不会计算该地址在计算机中的总长度 malloc动态开辟内存空间:定义一个野指针*p,p=(char *)malloc(1); p有了具体的内存指向。括号里的值代表地址的字节长度。 动态开辟字符串 malloc 函数原型 void *malloc(size_t size) c库函数void*malloc(size_t size)分配所需的内存空间,并返回一个指向他的指针 列子:char *p p=(char *)malloc(1) realloc 函数原型void*realloc(void *ptr,size_t size) c库函数void*realloc(void *ptr,size_t size)尝试重新调整之前调用malloc或calloc所分配的ptr所指向的内存块的大小 PHP字符串变量_php变量是什么意思_php 字符转实体字符 扩容 列子:realloc=(p,newlen) free c库函数void free(void *ptr)释放之前调用calloc、malloc或realloc所分配的内存空间 释放,防止内存泄漏 防止悬挂指针——野指针的一种 列子:free(p) memset 函数原型void*memset(void *str,intc,size_t n) 用于清理不必要的calloc、malloc或realloc所分配的内存空间 列子:memset(p,'\0',12) strncpy 函数原型void*strncpy(void *ptr,void *ptr,size_t n) 用于拷贝 例子:strncpy(str,p,8) str和p为两个字符串。 assert PHP字符串变量_php 字符转实体字符_php变量是什么意思 断言函数 例子:assert(des!=NULL&&str!=NULL) des和str为两字符串 strcat 函数原型char *strcat(char *dest,const char *src) 用于拼接 把src所指向的字符串(包括“\0”)复制到dest指向的字符串后面(删除*dest原来末尾的“\0").要保证*dest足够长,以容纳被复制进来的*src。*src中原来的字符不变。返回指向dest的指针。 例子:p2=strcat(str,p) strcmp int stmcmp(const char *s1,const char *s2 用于比较 如果str1=str2,则返回零;如果str1str2,则返回正数。 例子:strcmp(p,p1) strncmp int strncmp(const char *str1,const char *str2,size_t n) 用于比较 功能是把str1和str2进行比较PHP字符串变量,最多比较前n个字节,如果str1和str2的前n个字符相同,则返回0;如果s1大于s2。则返回大于0的值;如果s1小于s2,则返回值小于0的值。 (编辑:海洋资讯信息网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐

