`
fujinbing
  • 浏览: 237309 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

strlen 和 sizeof 对于字符数组的测试

阅读更多
#include<stdio.h>
#include<string.h>
#include<string>
using namespace std;
int main(){

string s="abc";
char a[100];
char b[]={'a','b','c'};
char c[]={'a','b','c','\0'};
strcpy(a,s.c_str());
int len,i;
len=strlen(a);
printf("strlen(a)=%d\n",len);
for(i=0;i<len;i++){
printf("a[%d]=%d--%c\n",i,a[i],a[i]);
}
len=strlen(b);
printf("strlen(b)=%d\n",len);
for(i=0;i<len;i++){
printf("b[%d]=%d--%c\n",i,b[i],b[i]);
}
len=strlen(c);
printf("strlen(c)=%d\n",len);
for(i=0;i<len;i++){
printf("c[%d]=%d--%c\n",i,c[i],c[i]);
}
return 1;
}




strlen(a)=3
a[0]=97--a
a[1]=98--b
a[2]=99--c
strlen(b)=10
b[0]=97--a
b[1]=98--b
b[2]=99--c
b[3]=20--
b[4]=96--`
b[5]=-51--?
           b[6]=8--
b[7]=-75--¦Ì
b[8]=-35--?
           b[9]=72--H
strlen(c)=3
c[0]=97--a
c[1]=98--b
c[2]=99--c



#include<stdio.h>
#include<string.h>
#include<string>
using namespace std;
int main(){

string s="abc";
char *a;
char b[]={'a','b','c'};
char c[]={'a','b','c','\0'};
printf("%d",sizeof(s));
strcpy(a,s.c_str());
int len,i;
len=sizeof(a)/sizeof(a[0]);
printf("strlen(a)=%d\n",len);
for(i=0;i<len;i++){
printf("a[%d]=%d--%c\n",i,a[i],a[i]);
}
len=sizeof(b)/sizeof(b[0]);
printf("strlen(b)=%d\n",len);
for(i=0;i<len;i++){
printf("b[%d]=%d--%c\n",i,b[i],b[i]);
}
len=sizeof(c)/sizeof(c[0]);
printf("strlen(c)=%d\n",len);
for(i=0;i<len;i++){
printf("c[%d]=%d--%c\n",i,c[i],c[i]);
}
return 1;
}





strlen(a)=4
a[0]=97--a
a[1]=98--b
a[2]=99--c
a[3]=0--
strlen(b)=3
b[0]=97--a
b[1]=98--b
b[2]=99--c
strlen(c)=4
c[0]=97--a
c[1]=98--b
c[2]=99--c
c[3]=0--
分享到:
评论

相关推荐

    字符数组的特殊性

    这里展示了如何确保字符数组正确初始化和使用`strlen`获取有效字符串长度。 总的来说,字符数组在C++中的特殊性主要体现在初始化、赋值、比较和输出等方面,这些特性使得字符数组成为处理字符串的重要工具。理解...

    字符数组和字符串的sizeof( )和strlen().docx

    总结,理解`sizeof()`和`strlen()`的使用对于正确处理C++中的数组和字符串至关重要,它们在内存管理和程序设计中扮演着重要的角色。同时,要留意不同类型的指针和数组在计算长度时的区别,以及类和结构体中的内存...

    字符数组字符指针sizeofstrlen的一点总结

    在C语言中,字符数组和字符指针是处理文本数据的两种常见方式。字符数组通常用于存储固定长度的字符串,而字符指针则用于指向字符串的首地址。 #### 二、字符串直接量的特点 1. **字符串直接量与结束符**: - ...

    字符数组和字符串的sizeof( )和strlen().pdf

    字符数组和字符串的sizeof()和strlen() 在C++编程语言中,sizeof()和strlen()是两个常用的函数,用于获取数组或字符串的长度。然而,这两个函数的功能和返回值有所不同,以下是对它们的详细介绍。 1. sizeof() ...

    有关strlen和sizeof的归纳与总结

    ### 有关`strlen`和`sizeof`的归纳与总结 #### 一、`sizeof`的深入解析 **(一)`sizeof`的概念** `sizeof`是C语言中的一个单目操作符,它用来获取给定类型或表达式的字节大小。需要注意的是,`sizeof`不是一个...

    10章字符数组和字符串[定义].pdf

    在IT软件开发领域,字符数组和字符串是两个重要的概念,它们在编程中有着广泛的应用,尤其是在C语言中。本文将详细解析字符数组和字符串的区别以及它们的使用。 首先,字符数组是一个由多个字符组成的数组,它并不...

    sizeof和strlen区别

    `strlen`是一个库函数,存在于`&lt;string.h&gt;`头文件中,它用于计算一个C风格字符串(以空字符'\0'结尾的字符数组)的长度,即不包括结束的空字符。例如: ```c++ char str[] = "Hello, World!"; strlen(str) // 返回...

    c代码-C语言编写一个程序,将字符数组str2中的全部字符复制到字符数组str1中

    总结一下,本文介绍了如何在C语言中使用自定义函数实现字符数组的复制,这涉及到对字符数组的理解,字符串的结束标志,以及如何遍历和操作字符数组。通过这个程序,我们可以更好地理解C语言中的字符串处理和内存管理...

    strlen与sizeof

    因此,`sizeof(str)`可能会大于`strlen(str)`,尤其是在处理包含'\0'在内的字符数组时。 总结来说,`sizeof`和`strlen`在处理内存大小的问题上各有侧重。`sizeof`关注的是类型或变量在内存中分配的总大小,而`...

    二维字符数组.zip

    理解并熟练掌握二维字符数组对于进行文本处理、格式化输出、字符串操作等任务至关重要。 首先,我们来看二维字符数组的基本定义。二维字符数组可以看作是一个数组的数组,每个子数组都是一个字符数组,也就是字符串...

    【C++】 strlen与sizeof计算char* 与char数组(转载记录) - toby1123yjh的博客 - CSDN

    对于数组和指针,`sizeof` 的行为有所不同: - 对于 `char` 数组,`sizeof` 返回整个数组的大小,包括所有元素。例如: ```cpp char b[5]; int arraySize = sizeof(b); ``` 这里 `sizeof(b)` 返回的是 5,因为...

    strlen和sizeof的区别和代码示例

    `sizeof`的一个优势是它可以应用于各种数据类型,包括基本类型、结构体、数组和指针。例如,你可以用`sizeof(int)`来获取`int`类型的大小,或者`sizeof(struct MyStruct)`来获取自定义结构体的大小。而`strlen`只能...

    sizeof 和strlen 区别.pdf

    - 与`sizeof`不同,`strlen`不考虑类型,只关心字符数组的实际内容,因此`strlen("abc")`将返回3,而不考虑数组实际在内存中占用的空间(包括`\0`)。 - `strlen`不适用于非零终止的字符数组,或者不是字符串的...

    Sizeof与Strlen的区别与联系.pdf

    【Sizeof与Strlen的区别与联系】 ...了解sizeof和strlen的差异对于编写高效和安全的C/C++代码至关重要,尤其是在处理内存分配和字符串操作时。正确理解和使用这两个工具可以避免许多潜在的内存问题和性能瓶颈。

    sizeof和strlen的区别

    4. 对于数组,`sizeof`返回整个数组的大小,而`strlen`只适用于字符数组且计算的是字符串长度。 在实际编程中,根据需求选择使用`sizeof`还是`strlen`至关重要。例如,当你需要分配内存来存储字符串时,应使用`...

    C语言中字符串与字符数组分析

    字符数组和字符串在某些操作上表现出相似性,如通过`strlen()`函数计算长度。`strlen(str)`和`strlen(strarray)`都会返回不包括`\0`的字符数,即字符串的可见长度。这是因为`strlen()`函数是根据非零字符序列来计算...

    sizeof与strlen区别

    在C/C++编程语言中,`sizeof`和`strlen`是两个非常重要的概念,它们都用于获取有关数据的信息,但各自的作用和应用场景有所不同。本文将详细介绍这两个操作符/函数的用法及其区别。 #### 二、sizeof详解 `sizeof`...

    解析sizeof, strlen, 指针以及数组作为函数参数的应用

    注意,`sizeof(pStud-&gt;class)`返回的是固定大小的字符数组`class[10]`的总字节数,即10字节。 `strlen`函数则用于计算以空字符`\0`结尾的字符串的实际长度,不包括结束的空字符。如`strlen(pStud-&gt;pName)`返回的是...

    Sizeof运算符与Strlen函数的区别与联系.docx

    在处理字符串数组时,两者可以结合使用,`sizeof`提供数组的总大小,而`strlen`提供实际字符串的长度,这对于内存分配和字符串处理至关重要。 差异点在于: - `sizeof`可以接受类型作为参数,而`strlen`只能接受`...

Global site tag (gtag.js) - Google Analytics