`
standalone
  • 浏览: 613362 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

字符串指针、字符数组的sizeof和strlen结果

    博客分类:
  • c++
阅读更多
int main(){
	
	char *p1="china";
	char p2[]="china";
	char p3[100]={0};
	strcpy(p3, "china");
	cout << sizeof(p1) << endl;
	cout << sizeof(p2) << endl;
	cout << sizeof(p3) << endl;
	cout << strlen(p1) << endl;
	cout << strlen(p2) << endl;
	cout << strlen(p3) << endl;
}

 在vc上面的输出结果:

 

4

6

100

5

5

5

 

解释:sizeof(p1)是一个指针的大小;sizeof(p2)和sizeof(p3)是数组的大小,包括'\0',strlen则不包括结尾的'\0'。

分享到:
评论

相关推荐

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

    在C++编程语言中,了解如何获取数组或字符串的长度是非常关键的,这涉及到`sizeof()`和`strlen()`两个函数的使用。`sizeof()`运算符返回一个类型或变量所占用的字节数,而`strlen()`函数则计算一个以空字符'\0'结尾...

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

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

    sizeof和strlen区别

    在C/C++编程语言中,`sizeof`和`strlen`是两个非常重要的操作符,它们分别用于获取数据类型的大小和字符串的长度。然而,这两个操作符有着本质的区别,理解和掌握它们的区别对于编写高效且无误的代码至关重要。 ...

    从一维数组看sizeof和strlen

    一维数组在编程中非常常见,而sizeof和strlen是两个常用的函数用于获取数组或字符串的长度。然而,在使用sizeof和strlen时,很多开发者都会遇到一些问题,这篇文章将介绍sizeof和strlen的区别,并通过实例分析它们的...

    c代码-9、有5个字符串,首先将它们按照字符串中的字符个数由小到大排列, 再分别取出每个字符串的第三个字母合并成一个新的字符串输出(若少于三个字符的输出空格)。要求:利用字符串指针和指针数组实现。

    这里我们将详细讨论如何利用字符串指针和指针数组来实现这一功能。 首先,我们需要定义一个字符串指针数组来存储这5个字符串的首地址。在C语言中,字符串实际上是以字符数组的形式存在的,因此,我们可以这样声明:...

    sizeof与strlen区别详解

    sizeof用于计算类型或变量的长度,而strlen用于计算字符串的长度。 5.数组作为参数传给函数时传的是指针而不是数组,传递的是数组的首地址。例如:fun(char [8])fun(char [])都等价于fun(char *) 6.sizeof操作符不...

    sizeof与strlen区别

    - `strlen`不会检查数组边界,因此如果传递了一个指向未初始化或非字符串数据的指针,可能会导致无限循环或程序崩溃。 #### 四、sizeof与strlen的区别 1. **编译期与运行期**: `sizeof`是一个编译时的操作符,其...

    Sizeof与Strlen的区别与联系.pdf

    Sizeof和Strlen是C/C++编程语言中用于获取数据大小和字符串长度的两个重要工具,但它们的作用和使用场景有所不同。 1. **Sizeof运算符**: - Sizeof是一个运算符,它在编译时计算表达式的大小(以字节为单位)。这...

    sizeof和strlen的区别

    1. `sizeof`是编译时运算,其结果在编译阶段就能确定,而`strlen`是在运行时计算,因为它需要遍历字符串直到找到'\0'。 2. `sizeof`可以用于任何类型的数据,包括基本类型、结构体、数组等,而`strlen`只适用于C风格...

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

    ### 字符数组与字符指针详解 #### 一、字符数组与字符指针的基本概念 ...以上内容总结了字符数组与字符指针的基础知识,以及 `sizeof` 和 `strlen` 的用法和区别。这些知识点对于理解C语言中的字符串处理非常关键。

    Sizeof与Strlen的区别与联系

    Sizeof和Strlen是C++中用于处理内存和字符串长度的两个重要工具,它们有着显著的区别和特定的应用场景。 一、Sizeof Sizeof是一个运算符,它在编译时进行计算,返回值类型为size_t,即无符号整型,能够容纳系统中...

    sizeof 和strlen 区别.pdf

    - `strlen`不适用于非零终止的字符数组,或者不是字符串的数据,如果尝试用`strlen`计算其他数据类型或非字符串数组的长度,可能会导致未定义的行为。 在使用时,`sizeof`通常用于确定类型、数组或结构体的固定...

    浅谈sizeof与strlen函数的区别.pdf

    两者之间的一个关键区别在于,`sizeof`在编译时就能确定结果,而`strlen`则是在运行时根据字符串内容动态计算的。因此,`sizeof`可以用于数组大小的预分配,而`strlen`用于动态处理字符串长度。 在处理指针时,`...

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

    在C语言中,`sizeof`和`strlen`是两个非常重要的操作符,它们分别用于获取数据类型或变量的大小和字符串的长度。而指针和数组则是C语言中常见的数据结构,它们在函数参数传递中有着特殊的用法。本文将详细解析`...

    Sizeof与Strlen的区别与联系.docx

    这意味着`sizeof`在编译时就能确定结果,而`strlen`需要在运行时通过遍历字符串来计算。 2. `strlen`计算的是有效字符串的长度,不包括结束的`\0`,这与字符串是否初始化有关。而`sizeof`则无论变量是否初始化,都会...

    sizeof 和strlen的区别

    3. **指针兼容性**:`strlen`可以接受指向字符串的指针作为参数,这使得它非常适合处理动态分配的字符串或数组中的子串。 ### `sizeof`与`strlen`的区别 1. **计算时机**:`sizeof`在编译时确定类型或变量的大小;...

Global site tag (gtag.js) - Google Analytics