strlen /sizeof/ 0,'\0','0'中的陷阱+补充字符串字符数与数组大小相等
来源:互联网 发布:美国非农数据公布网站 编辑:程序博客网 时间:2024/05/17 08:33
#include<string.h> main() { char x[]="STRING"; x[0]=0; x[1]='\0';x[2]='0'; printf("%d %d\n",sizeof(x),strlen(x)); //结果为7,0 }strlen遇到数据 0b0000 0000 就停止计数,也就是字符 \0 或者数字 0
一旦char[]="STRING",这时候分配的内存7字节,之后无论怎么修改如何赋值都不会改变
字符串是借助于字符型一维数组来存放的,'\0'ASCLL代码值为0,它作为标志占用存储空间但不记入串的实际长度,所以用来作为字符串的结束标志
所以数字0跟'\0'的效果一样
char t1[4]="1234";char t2[4]="2345";char t3[4]="3456";char *p = t2;a = strlen(p); //结果是10,此结果不一定是10,余具体内存分配有关,此处内存分布如下图a = strlen(t2); //结果同上a = *p;
keil mdk连续分配内存,高位到低位为t3 t2 t1 之后还有数据
由于t2数组初始化时,4个空间刚好填满,没有为‘\0’留出空间,strlen()会一直统计,直到遇到八位数据0b0000 0000
阅读全文
0 0
- strlen /sizeof/ 0,'\0','0'中的陷阱+补充字符串字符数与数组大小相等
- strlen /sizeof/ 0,'\0','0'中的陷阱
- sizeof("\\\0")与strlen("\\\0")
- 计算字符串的长度及sizeof与strlen、gets与scanf、字符数组与字符串
- sizeof与strlen使用,字符串指针数组
- 字符串,字符指针和字符数组的sizeof和strlen
- sizeof , strlen与字符串
- C中 字符数组和字符串以及strlen 和sizeof
- sizeof('\0') strlen("\0")
- Java中的字符串比较相等与大小
- Java中的字符串比较相等与大小
- 数组中的strlen和sizeof
- 字符数组,字符指针,sizeof,strlen总结
- 字符数组、字符指针;sizeof、strlen
- 字符数组,字符指针,sizeof,strlen总结
- 字符数组,字符指针,sizeof,strlen总结
- 字符数组,字符指针,sizeof,strlen总结
- 字符数组,字符指针,sizeof,strlen总结
- 解决android studio引用远程仓库下载慢(JCenter下载慢)
- 【noip 1999】旅行家的预算
- 已成功连接到库却undefined reference to 错误
- javascript之AJAX(二)json
- C和指针之删除字符串第一次出现的子串
- strlen /sizeof/ 0,'\0','0'中的陷阱+补充字符串字符数与数组大小相等
- codeforces D.Teams Formation
- Lintcode-动态规划-数字三角形
- zzzcms网站微信分享的链接打开500报错,解决办法
- 拦截器+okf封装
- 回家 (无向图割点)
- fred.V7光线追迹软件\
- 文件查看cat_tac_more_less_head_tail
- yum安装node.js,linux编译安装丢失依赖包如何解决