数组(array)和一串(string)的区别

两者之间的主要区别在于数组可以具有任何长度的任何数据类型,而字符串通常是以空字符“\0”结尾的ASCII字符。两者在不同编程语言中的实现方式都有很大的不同。数组和字符串在java中的工作方式与C++中的工作方式非常不同。本文介绍数组和字符串之间的无偏比较。...

两者之间的主要区别在于数组可以具有任何长度的任何数据类型,而字符串通常是以空字符“\0”结尾的ASCII字符。两者在不同编程语言中的实现方式都有很大的不同。数组和字符串在java中的工作方式与C++中的工作方式非常不同。本文介绍数组和字符串之间的无偏比较。

数组(array)和一串(string)的区别

什么是数组(an array)?

许多应用程序都涉及大量数据,要处理如此大量的数据,我们需要一种强大的数据类型,以方便高效地存储和访问数据项。这就是数组出现的地方。数组是一种特殊的变量,它引用由公共名称引用的相似类型变量的顺序集合。在技术术语中,它是具有相同基类型的元素的有序集合,这些元素共享一个名称。简单地说,它提供了一种将相关信息分组在一起的方便方法。java中的数组与C++中的数组有很大的不同。

数组(array)和一串(string)的区别

什么是一根绳子(a string)?

字符串是一系列字符,表示为以特殊字符“\0”(空字符)结尾的单个数据项。在爪哇和C++中,字符串是类,它们的行为不同。字符串的声明类似于数组,char类型除外。字符串是具有公共名称的连续值序列。与数组不同,字符串是不可变的,这意味着一旦赋值就不能修改它们的值。一旦为字符串分配了值,就不能更改字符串的原始内容。它们是编程范例中最常用的类之一。

数组和字符串之间的差异

定义

数组是具有相同基类型的元素的固定大小的有序集合。它只是一个类似类型变量的集合,这些变量共享一个名称,可以用来表示名称列表或数字列表。字符串类似于数组,但有几个例外。它是表示为单个数据项的字符序列。

存储

数组和字符串之间的主要区别之一是它们在内存中的存储方式。一个连续的内存块被分配给一个数组,意味着它代表一个连续的内存块。数组的元素被连续地存储在不断增加的内存位置中。当字符串声明为字符数组时,它们与其他类型的数组一样存储。string类包含指向堆内存某个部分的指针,其中字符串的实际内容存储在内存中。

状态

两者之间的关键区别之一是字符串是不可变的,这意味着一旦分配了字符串对象,对象的值就不能在内存中更改。不可变只是指对象在创建后不能修改的状态。一旦为字符串分配了值,就不能修改字符串的原始内容。这仅仅意味着新值不能被分配到存储先前值的内存位置中的相同地址。另一方面,数组是可变的,这意味着字段即使在创建之后也可以更改或修改。

数据类型

数组是表示数据或存储和访问相同或不同数据类型的对象的最有效的数据结构。它们是动态创建的,可以分配给任何数据类型的变量。在java中,可以创建数组,以便保存不同的数据类型。它可以保存原语和引用。数组是一次能够容纳多个值的特殊变量。另一方面,字符串只能保存最常用的数据类型的char数据。字符字符串可以容纳任意字母和数字序列。

大小

数组的长度是在创建时确定的,一旦完成,长度是固定的。简单地说,数组的长度是固定的,这意味着它可以容纳固定数量的单一类型的值。C中不允许使用可变大小的数组。一旦分配了一个数组,它的大小就固定了。字符串的大小是可变的,这意味着如果它是char指针,则可以更改它。

数组与字符串:比较图

数组(array)和一串(string)的区别

总结 - 数组的(of array) vs. 一串(string)

字符串和数组非常相似,只是数组的长度是固定的,而字符串的元素数可以是可变的。从技术上讲,数组是一种特殊类型的变量,一次可以保存多个值。它们是相似数据类型元素的顺序集合,而字符串是用于表示文本而不是数字的字符序列。此外,字符串是不可变的,这意味着对象的值一旦创建就不能修改,而数组是可变的,这意味着字段可以修改。简单地说,数组是相似类型变量的集合,而字符串是由单个数据类型表示的字符序列。

  • 发表于 2021-06-25 10:17
  • 阅读 ( 1390 )
  • 分类:IT

你可能感兴趣的文章

数组(arrays)和链接列表(linked lists)的区别

数组与链接列表 数组是存储元素集合的最常用的数据结构。大多数编程语言都提供了方法来轻松地声明数组和访问数组中的元素。链表,更确切地说是单链表,也是一种可以用来存储元素集合的数据结构。它由一系列节点组...

  • 发布于 2020-11-05 09:04
  • 阅读 ( 172 )

如何用java编写for循环

... 对数组使用for循环 ...

  • 发布于 2021-03-29 11:52
  • 阅读 ( 229 )

数组列表(array list)和链表(linked list)的区别

如何存储数据? 数组列表和链表是数据存储和检索的常用术语。虽然存储设备很多,但归根结底还是依赖于存储机制。这两种存储机制将数据放在存储设备中,并在需要时检索它们。让我们看看它们是如何在内存中存储数...

  • 发布于 2021-06-25 00:29
  • 阅读 ( 320 )

数组(array)和数组表(arraylist)的区别

什么是数组和数组列表(array and arraylist)? Array和ArrayList都是Java程序中常用的基于索引的数据结构。从概念上讲,ArrayList在内部是由数组支持的,然而,理解两者之间的区别是成为优秀Java开发人员的关键。这是最基本的一步,尤...

  • 发布于 2021-06-25 03:21
  • 阅读 ( 662 )

数组(array)和一串(string)的区别

两者之间的主要区别在于数组可以具有任何长度的任何数据类型,而字符串通常是以空字符“\0”结尾的ASCII字符。两者在不同编程语言中的实现方式都有很大的不同。数组和字符串在java中的工作方式与C++中的工作方式非常不同...

  • 发布于 2021-06-25 10:17
  • 阅读 ( 1390 )

堆栈(stack)和数组(array)的区别

...们有多种方法来存储和检索计算机程序中的信息。堆栈和数组是面向对象编程语言中最常用的两种数据存储方式。当然,可以用数组实现堆栈。然而,两者之间的主要区别是准入。 什么是堆栈(stack)? 堆栈是一种线性的、类似...

  • 发布于 2021-06-25 15:17
  • 阅读 ( 325 )

数组(array)和指针(pointer)的区别

数组和指针的主要区别在于,数组是一种数据结构,它存储相同数据类型的元素集合,而指针是一个变量,它在计算机内存中保存另一个变量的地址。 数组和指针是C语言和C++语言中使用的两个概念。数组是一组数据,其中包含...

  • 发布于 2021-06-30 23:59
  • 阅读 ( 684 )

数组(array)和链表(linked list)的区别

数组和链表的主要区别在于数组在编译时分配内存,即声明数组的时间,而链表在运行时分配内存,即向链表中添加元素的时间。 数组是包含一组相同数据类型的元素的数据结构。数组是预定义的。换句话说,它有一个固定的...

  • 发布于 2021-07-01 09:29
  • 阅读 ( 214 )

1天(1d)和二维阵列(2d array)的区别

一维数组和二维数组的主要区别在于,一维数组将多个数据项表示为一个列表,而二维数组将多个数据项表示为一个由行和列组成的表。 变量是存储特定类型数据的内存位置。有时,需要存储一组相同数据类型的项。数组允许...

  • 发布于 2021-07-01 10:34
  • 阅读 ( 538 )

数组(array)和c程序设计中的结构(structure in c programming)的区别

在C编程中,数组和结构的主要区别在于数组有助于存储相同类型的数据元素集合,而结构有助于将不同的数据类型存储为单个单元。 C是由贝尔实验室的dennisritchie开发的高级通用编程语言。它是最现代的编程语言的基础语言,...

  • 发布于 2021-07-01 12:48
  • 阅读 ( 223 )
iktdeyvh287
iktdeyvh287

0 篇文章

相关推荐