C语言学习之sizeof和strlen对比
2011-07-29 13:22
309 查看
strlen()是用来求字符串长度的一个函数,sizeof()是用来求指定变量或者变量类型等所占内存大小的操作符。
看下面几个例子就明白了:
char ss[] = "0123456789";
sizeof(ss) 结果 11 ===》ss是数组,计算到\0位置,因此是10+1
sizeof(*ss) 结果 1 ===》*ss是第一个字符
char* ss = "0123456789";
sizeof(ss) 结果 4 ===》ss是指向字符串常量的字符指针,长整型的
sizeof(*ss) 结果 1 ===》*ss是第一个字符
char ss[100] = "0123456789";
sizeof(ss) 结果是100 ===》ss表示在内存中的大小 100×1
strlen(ss) 结果是10 ===》strlen是个函数内部实现是用一个循环计算到\0为止之前
int ss[100] = "0123456789";
sizeof(ss) 结果 400 ===》ss表示再内存中的大小 100×4
strlen(ss) 错误 ===》strlen的参数只能是char* 且必须是以''\0''结尾的
看下面几个例子就明白了:
char ss[] = "0123456789";
sizeof(ss) 结果 11 ===》ss是数组,计算到\0位置,因此是10+1
sizeof(*ss) 结果 1 ===》*ss是第一个字符
char* ss = "0123456789";
sizeof(ss) 结果 4 ===》ss是指向字符串常量的字符指针,长整型的
sizeof(*ss) 结果 1 ===》*ss是第一个字符
char ss[100] = "0123456789";
sizeof(ss) 结果是100 ===》ss表示在内存中的大小 100×1
strlen(ss) 结果是10 ===》strlen是个函数内部实现是用一个循环计算到\0为止之前
int ss[100] = "0123456789";
sizeof(ss) 结果 400 ===》ss表示再内存中的大小 100×4
strlen(ss) 错误 ===》strlen的参数只能是char* 且必须是以''\0''结尾的
相关文章推荐
- C语言学习之sizeof和strlen对比
- C语言学习知识点(一):sizeof与strlen
- c语言中 sizeof、strlen()学习笔记
- C语言再学习 -- 关键字sizeof与strlen
- C语言中sizeof()与strlen()函数的使用入门及对比
- 我的小小学习笔记(1)之C语言--sizeof&strlen(1)
- sizeof与strlen对比小实验。。
- C语言-Sizeof与Strlen的区别与联系(转)
- 【学习笔记】【C语言】sizeof
- 黑马程序员———C语言———【strlen()和sizeof()的区别、排序、算法】
- c语言之数组 sizeof strlen
- 我的编程学习日志(10)--求字符数组与数字数组的长度(strlen,,size,sizeof)
- IOS开发---C语言-③sizeof、strlen
- C语言中的sizeof操作符用法及和strlen的区别
- C学习——sizeof和strlen的区别
- C语言-sizeof()与strlen()的区别【转】
- C语言常见知识1(sizeof 和strlen,typedef和#define)
- C++ 学习(第一天)sizeof与strlen 的区别
- [c语言]sizeof() 居然不是函数?!!strlen()和sizeof()纠缠在一起再碰到不同类型的数组,你还能分辨清吗?
- C语言中关于sizeof和strlen的区别