strlen()与sizeof
来源:互联网 发布:易语言文本处理源码 编辑:程序博客网 时间:2024/06/05 10:39
c语言没有string类型,字符串的处理使用的是char数组
c会默认在字符串的尾部增加一个'\0'
,也叫空字符(用来标记字符串的结束),所以字符串真正在内存中占用的字节数会比字符串的字符数多1.
strlen()
我们使用strlen()方法可以获取字符串的长度,也就是包含多少个字符数
然而获取到的这个字符数并不包含尾部被自动追加的'\0'
空字符
sizeof
sizeof 这并不是一个方法,而是一个关键字,用来获得类型的大小,或某个量的大小,这里只讨论获取具体量的大小
sizeof获取的是c或者程序员为这个具体量分配了多大的空间(字节数)
以字符串,数组char举例:
声明了一个20大小的字符串:
char name[20];name = jack;
那么sizeof name
获得的大小就是20,而不是jack
的字符数4,也不是真是占用内存的字节数5
而strlen(name)
,方法获得的大小则是4,而不是5或者20
测试源码
#include <stdio.h>#include <string.h>#define TEST "i am jack"int main(void){ char name[20]; printf("type your name:\n"); scanf("%s",name); printf("name is :%s\n", name); printf("sizeof name is : %ld\n", sizeof name); printf("strlen name is : %ld\n", strlen(name)); printf("\n"); printf("sizeof TEST is : %ld\n", sizeof TEST); printf("strlen TEST is : %ld\n", strlen(TEST)); return 0;}
输出结果为:
type your name:jackname is :jacksizeof name is : 20strlen name is : 4sizeof TEST is : 10strlen TEST is : 9
0 0
- sizeof()与strlen()用法
- sizeof()与strlen()
- 关于sizeof与strlen
- 关于sizeof()与strlen()
- strlen与sizeof区别
- sizeof与strlen区别
- Sizeof与Strlen
- strlen与sizeof区别
- sizeof与strlen()
- sizeof与strlen
- strlen() 与 sizeof() 区别
- sizeof与strlen
- sizeof 与 strlen
- strlen与sizeof
- strlen与sizeof
- sizeof与strlen
- sizeof()与strlen()[转]
- sizeof与strlen
- activity的启动模式
- Linux开启mysql远程连接的设置步骤
- Android消息推送1----原始的socket长链接
- HDU1285拓扑排序实例分析
- IOS学习 UIDatePicker 包含时间格式转换
- strlen()与sizeof
- linux 进程的虚拟地址和内核中的虚拟地址有什么关系
- class.getResource()用法
- FTP 服务器搭建
- Hadoop数据压缩
- 最简真分数
- 一个不安分的肥猫程序猿
- Android下使用正则表达式
- Mac 开发笔记(一):动态链接库与静态连接库