首页 > C/C++/Linux > sizeof对字符串的操作

sizeof对字符串的操作

2009-11-25 22:00 星期三    浏览: 1,278    绿 发表评论 阅读评论

sizeof对字符指针sizeof(char*)时,会得到指针本事的size,在我的平台上为4

sizeof对字符数组sizeof(char str[])时,会得到该字符串长度,包括后面的”"结束符

sizeof对指定长度的字符数组sizeof(char str[num])时,会得到字符数组所声明的长度,即num

sizeof对字符指针或字符数组解引用sizeof(*str)时,实际上是对第一个字符操作,故返回值都是1

strlen返回的是字符串(不管是数组还是指针)的实际长度,不包括后面的”"结束符

 

示例代码:

char *str=”123456″;

printf(“char *str=”123456″n”);

printf(“sizeof(str)=%d, sizeof(*str)=%d, strlen(str)=%dnn”,sizeof(str),sizeof(*str),strlen(str));

 

char str1[]=”123456″;

printf(“char str1[]=”123456″n”);

printf(“sizeof(str1)=%d, sizeof(*str1)=%d, strlen(str1)=%dnn”,sizeof(str1),sizeof(*str1),strlen(str1));

 

char str2[10]=”123456″;

printf(“char str2[10]=”123456″n”);

printf(“sizeof(str2)=%d, sizeof(*str2)=%d, strlen(str2)=%dnnn”,sizeof(str2),sizeof(*str2),strlen(str2));

执行结果(环境:ubuntu8.04/x86/GCC4.2.4):

 

char *str=”123456″

sizeof(str)=4, sizeof(*str)=1, strlen(str)=6

 

char str1[]=”123456″

sizeof(str1)=7, sizeof(*str1)=1, strlen(str1)=6

 

char str2[10]=”123456″

sizeof(str2)=10, sizeof(*str2)=1, strlen(str2)=6

本文链接地址: http://blog.redwolf-soft.com/?p=624

原创文章,版权©红狼博客所有, 转载随意,但请注明出处。

    分享到:

相关文章:

  • 无相关文章
分类: C/C++/Linux 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
订阅评论
  欢迎参与讨论,请在这里发表您的看法、交流您的观点。