数组和字符串的区别

目录:

Anonim

主要区别 Array 和 String 之间是一个 数组是一种数据结构,它存储一组相同数据类型的元素,而字符串是一组字符。

C 等编程语言支持数组和字符串。数组是一种固定大小的数据结构,用于存储属于同一类型的数据元素。它是可以访问数组索引的同名变量的集合。此外,它表示一个元素列表。另一方面,字符串类似于数组,但它仅由字符组成。换句话说,它是表示单个数据元素的字符序列。

数组、字符串

什么是数组

数组有助于存储相同数据类型的元素。声明数组时,程序员必须给出数组可以存储的元素数。因此,数组是一种固定长度的数据结构。请参考以下程序。

图 1:使用数组编程

在上面的程序中, numbers 是一个数组。它可以存储 10 个整数。此外,该值是一个整数变量。它的初始值为 0。在“for 循环”中,计算出的值被分配给数组。下一个 for 循环遍历数字并将它们打印在控制台上。我们可以轻松访问数组元素,如第 14 行。

数组的起始索引为 0。因此,在 10 个元素的数组中,最后一个元素的索引为 9。此外,数组将元素存储在连续的内存分配中。第一个索引具有最低地址,而最后一个索引具有最高地址。由于数组具有固定大小,因此无法分配比声明数量更多的元素数量。换句话说,我们不能在一个数组大小为 10 的数组中存储 15 个元素。

另一种常见的数组类型是多维数组。它按照由类似于表格的行和列组成的格式存储元素。

什么是字符串

字符串是一组字符。它以一个空字符“\0”结尾。程序员可以存储类似于数组的字符串。下面的语句是一个字符串的声明和初始化。

char message[6] = {‘C’, ‘o’, ‘l’, ‘o’, ‘u’, ‘r’, ‘\0’};

我们也可以把上面的语句写成如下。

字符消息[]=“颜色”;

由于需要存储空字符,因此字符串大小应比字符串中的字符数大一。在 C 语言中,我们使用“char”数据类型声明一个字符串。程序员没有必要在字符串的末尾放置一个空字符。编译器在初始化数组时自动在字符串末尾放置一个空字符。

图 2:使用数组编程

“string1”是一个字符串。 printf 语句将其显示在控制台上。 strlen 函数有助于查找字符串中的字符总数。 newString1 可以存储 7 个字符。 strcpy 函数有助于将 string1 复制到 newString1。所以,newString1 也有字符串“Colour”。此外,newString2 具有字符串“Purple”。 strcat 有助于连接 string1 和 newString2。它结合了 string1 末尾的 newString2。

数组和字符串的区别

定义

数组是一种数据结构,由一组元素组成,每个元素由数组索引标识,而字符串是由空字符终止的一维字符数组。因此,这是 Array 和 String 之间的主要区别。

数据类型

Array 和 String 的另一个区别是数组可以存储一组整数、双精度数、浮点数等,而字符串只能存储字符。

尺寸

此外,大小是 Array 和 String 之间的另一个区别。数组具有固定大小。但是,尽管字符串也有固定大小,但可以在使用字符指针时更改。

类型

此外,数组可以是一维或二维的,但字符串始终是二维的。

结论

Array 和 String 的主要区别在于,Array 是一种数据结构,它存储一组相同数据类型的元素,而 String 是一组字符。简而言之,String 是一个数组,但它只存储字符。另一方面,数组可以存储整数集、双精度集、字符集等。数组的数据类型不限于字符。

参考:

1.“C 数组——Javatpoint”。 Www.javatpoint.com,可在此处获得。2.“C 字符串 – Javatpoint”。 www.javatpoint.com,可在此处获得。

数组和字符串的区别