转义字符 & sizeof & strlen
在定义了数组大小时:
sizeof是运算符,表示编译时分配的空间大小,即数组定义的大小,char t[20] = "sfa"。sizeof: 20; strlen: 3.
在未定义数组大小时:
sizeof根据实际位数确定,注意字符串隐藏的\0也算一位,。
eg:1
char s[] = "a\128\\\tcb\xdg\n";
sizeof计算s大小时,为11位:a \12 8 \\ \t c b \xd g \n \0
strlen计算s大小时,为10位:strlen计算字符串长度时遇\0结束,但大小计算不包括\0
eg:2
char a[] = "a0\0a0\0";
sizeof(a)大小为7,即:a 0 \0 a 0 \0 \0
strlen(a)大小为2
char s[] = "a\128\\\tcb\xdg\n";   打印字符数组s:转义字符:
\yyy   : 1~3位八进制数所代表的任意字符,其中y的范围是0~7
\xyy   : 1~2位十六进制所代表的任意字符,其中y的范围是0~F
for (int i = ; i < sizeof(s); i++)
{
printf("%c", s[i]);
}
eclipse输出: (换行 \n 和 回车\r 效果都是换行的效果)
a
\ cb
g
gcc编译器输出:
a
g\ cb //回车后光标移到第二行起始,g将8覆盖
\12 : 2位八进制数,十进制10,控制字符LF,表示换行,gcc编译器下,表示从当前位置换到该位置对应的下一行
\\ :表示 \
\t : 表示水平制表,即一个TAB
\xd: 1位十六进制数,十进制13,控制字符CR,表示回车(gcc编译器下,回车表示回到本行首位,其后输出字符会覆盖之前数据)
注意转译字符 八进制和十六进制的问题:
char s[] = "a\12345b\x1221g\xay";
八进制最多选3位,即\123,当该八进制数转化为十进制后大于ASCII码表最大值127时,是一个乱码。
十六进制最多选两位,但截取\x后的整数的最后2位处理,前面的位数丢弃,即截断,即丢弃12,十六进制\x21,十进制33表示!
所以长度计算中:
sizeof是10位,即:a \123 4 5 b \x21 g \xa y \0
strlen是9位,即:a \123 4 5 b \x21 g \xa y
常用转译字符:
\? ----代表一个问号---- 063
转义字符 & sizeof & strlen的更多相关文章
- Strcmp(字符串1,字符串2)函数     Sizeof &&  strlen()       Substr(a,b)
		Strcmp(字符串1,字符串2)函数 { strcmp函数是比较两个字符串的大小,返回比较的结果.一般形式是: i=strcmp(字符串,字符串); 其中,字符串1.字符串2均可为字符串常量或变量 ... 
- sizeof, strlen区别
		strlen与sizeof的区别 .sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型. 该类型保证能容纳实现所建立的最大对象的字节大小. .size ... 
- sizeof && strlen 的区别
		本文主要记录了 sizeof 操作符 和 strlen() 函数的区别,以及各自的用途.(在下才疏学浅,发现错误,还请留言指正) sizeof 和 strlen 的区别 示例代码如下: #includ ... 
- sizeof strlen strncpy用法总结  结构体实际所占内存大小 以及memset用法
		sizeof测类型(数组名除外) strlen测实际长度 strncpy返回指针类型 #include <stdio.h> #include <stdlib.h> #inclu ... 
- sizeof strlen 求char*字符串的长度
		sizeof只是求变量所占的字节数,sizeof(char *) = 4字节: strlen(char*) 可以得到整个字符串的长度. 如果是数组vec,那么使用sizeof就可以得到整个数组的所占的 ... 
- 缓冲区溢出实验 2  sizeof/strlen
		实验环境.代码.及准备 https://www.cnblogs.com/lqerio/p/12870834.html vul2 下面只给出有漏洞部分的代码.Vul2问题为sizeof函数在计算时会考虑 ... 
- sizeof strlen区别于联系
		http://www.cnblogs.com/carekee/articles/1630789.html 
- [基础]sizeof和strlen
		转自网络 首先切记,sizeof不能用来求字符串长度 1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型.该类型保证能容纳实现所建立的最大对象的字 ... 
- sizeof(自己摸索d)
		Sizeof() 判断数据类型长度符的关键字 sizeof用法 sizeof(类型说明符,数组名或表达式); 或sizeof (变量名); 定义 sizeof是C/C++中的一个操作符(operato ... 
随机推荐
- centos 7.3 安装vmtools,解决无法编译共享文件夹模块
			环境说明: vmware 12.5.0 build-4352439 centos 7.3.1611 64位,内核版本:Linux version 3.10.0-514.16.1.el7.x86_6 ... 
- MyBatis源码解析(一)
			<!-- mybatis文件配置,扫描所有mapper文件 --><!--SqlSessionFactoryBean的初始化参数--> <bean id="sq ... 
- Zju1610 Count the Colors(lazy标记详解)
			Description 画一些颜色段在一行上,一些较早的颜色就会被后来的颜色覆盖了. 你的任务就是要数出你随后能看到的不同颜色的段的数目. Input 每组测试数据第一行只有一个整数n, 1 < ... 
- Centos 5.11 升级 Openssl
			由于Openssl版本较低,故此升级版本来解决一些小问题. 1:查看openssl版本: [root@server-008 ~]# openssl versionOpenSSL 0.9.8e-fips ... 
- 子div块中设置margin-top时影响父div块位置的解决办法及其原因
			解决办法①: 若子DIV块中使用margin-top,则在父DIV块中添加:overflow:hidden; 解决办法②: 在子DIV块中用padding-top代替margin-top. 有个叫 b ... 
- scrapy框架中Download Middleware用法
			scrapy框架中Download Middleware用法 Downloader Middleware处理的过程主要在调度器发送requests请求的时候以及网页将response结果返回给sp ... 
- Codeforces 1142E(图、交互)
			题目传送 官方题解说的很好了,剩下的就是读大佬代码了,前面是tarjan求SCC缩点图.我图论没学过,接下来删点是怎么操作看得有点头秃,直到我看到了%%%安德鲁何神仙的代码. 按照题面连通紫线以后,我 ... 
- 面向对象多继承(C3算法)/网络编程
			https://www.cnblogs.com/aylin/p/5572104.html 一.面向对象多继承(c3算法) a.有多个父类先找左,再找右,如下示例: class A(object): p ... 
- 改变滚动条的原始样式: chrome 可以改变, IE只能变相关颜色,firfox好像也不好改。最好是自己写一个或是用插件
			相关作者链接地址: https://www.lyblog.net/detail/314.html 问题: 1.我在项目中遇到的问题: 在设置了::-webkit-scrollbar 后,滚动条不见了! ... 
- 安卓Listview 不规则项即不同item的运行
			在安卓中,listview 的item 是一个不断被轮询调换位置的过程,这样 即 图片参考地址 http://www.cnblogs.com/mybkn/archive/2012/05/23/2 ... 
