指针(pointer)和阵列(array)的区别

指针是一种保存对内存位置的引用的数据类型(即指针变量存储某个存储数据的内存位置的地址)。数组是存储元素集合的最常用的数据结构。大多数编程语言都提供了方法来轻松地声明数组和访问数组中的元素。...

指针与数组

指针是一种保存对内存位置的引用的数据类型(即指针变量存储某个存储数据的内存位置的地址)。数组是存储元素集合的最常用的数据结构。大多数编程语言都提供了方法来轻松地声明数组和访问数组中的元素。

什么是指针?

指针是一种数据类型,用于存储存储某些数据的内存位置的地址。换句话说,指针保存对内存位置的引用。访问存储在指针引用的内存位置中的数据称为取消引用。当执行诸如遍历树/字符串、表查找等重复操作时,使用指针可以提高性能。这是因为取消引用和复制指针比实际复制和访问指针所指向的数据便宜。空指针是不指向任何对象的指针。在Java中,访问空指针将生成一个称为NullPointerException的异常。

什么是数组?

如图1所示,是一段代码,通常用于声明并向数组赋值。图2描述了数组在内存中的样子。

int值[5];值[0]=100;值[1]=101;值[2]=102;值[3]=103;值[4]=104;

图1:声明和分配数组值的代码


100 101 102 103 104
索引:0 1 2 4

图2:存储在内存中的数组

上面的代码定义了一个可以存储5个整数的数组,并使用索引0到4访问它们。数组中的每一个元素都被分配了一个重要的数组。一旦定义了数组,它的大小就固定了。因此,如果在编译时不确定数组的大小,那么就必须定义一个足够大的数组来保证安全。但是,大多数情况下,我们实际使用的元素数量少于我们分配的数量。所以相当多的内存实际上被浪费了。另一方面,如果“足够大的数组”实际上不够大,程序就会崩溃。

指针和数组有什么区别?

  • 发表于 2020-10-19 15:42
  • 阅读 ( 110 )
  • 分类:IT

你可能感兴趣的文章

指针(pointer)和参考(reference)的区别

指针(pointer)和参考(reference)的区别 在讨论指针和引用之间的区别之前,让我们先简单地看一下这两个术语的含义。在程序中,数据占用内存。为了访问数据,应该知道数据在执行时被放在内存中的确切位置。指针变量和引用...

  • 发布于 2020-10-28 19:41
  • 阅读 ( 271 )

整数(integer)和指针(pointer)的区别

整数与指针 “整数”和“指针”在大多数计算机编程语言中都有应用。 编程语言中的“整数”可以定义为表示数学子集的任何数据类型。另一方面,“指针”可以定义为一种类型,它引用或指向存储在计算机内存某个部分的...

  • 发布于 2021-06-23 14:07
  • 阅读 ( 248 )

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

...存位置检索下一个项目或数据;但是,它是通过链表中的指针来存储的。在这里,我们需要两个存储位置—一个用于数据,另一个用于指针。指针寻址下一个数据的内存位置。我们很容易理解链表从不按顺序存储数据;相反,它...

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

指针(pointer)和参考(reference)的区别

...地理解哲学,让我们来理解两者的区别。 什么是指针(a pointer)? 每个变量都是一个内存位置,由其地址定义,并与一个标识符配对,该标识符包含一些在程序运行过程中可能更改的值。简单来说,变量是表示一个量的符号。 指...

  • 发布于 2021-06-25 06:41
  • 阅读 ( 465 )

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

...。换句话说,数组的内存分配是静态的。 什么是指针(a pointer)? 变量是存储值的内存位置。每个内存位置都有一个地址来标识它。 Figure 2: Pointer 指针是存储另一个变量地址的变量。指针是在存储变量地址之前声明的。星号*用于...

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

堆栈指针(stack pointer)和程序计数器(program counter)的区别

...程序计数器,寄存器,堆栈指针 什么是堆栈指针(a stack pointer)? 堆栈是计算机中的一种数据结构。向堆栈中**新项称为push,而从堆栈中删除项称为pop。例如,假设有三个元素A、B和C。推送到堆栈的第一个项目是A。然后加上B和C...

  • 发布于 2021-07-01 06:52
  • 阅读 ( 628 )

指针(pointer)和参考(reference)的区别

...什么-关键区别的比较 关键术语 指针,引用 什么是指针(pointer)? 指针是存储另一个变量地址的变量。换句话说,它存储内存位置的直接地址。程序员必须先声明一个指针,然后才能使用它来存储内存地址。例如,假设int*ptr;...

  • 发布于 2021-07-01 08:03
  • 阅读 ( 390 )

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

...和二维数组的区别是什么-主要区别的比较 关键术语 一维阵列,二维阵列,阵列,多维阵列,一维阵列 什么是一维阵列(1d array)? 一维数组或一维数组存储相同数据类型的变量列表。可以使用索引访问每个变量。 在Java语言中...

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

一维阵列(one-dimensional (1d) array)和二维阵列(two-dimensional (2d) array)的区别

...是第一个索引,列是第二个索引。 对比图 基础 一维阵列 二维阵列 意义 一维数组存储相似数据元素的单个列表 在二维数组中,存储列表列表或数组数组 大小 一维(1D)数组的大小是Total Bytes=sizeof(数组变量的数据类型...

  • 发布于 2021-07-08 14:07
  • 阅读 ( 667 )

整数(integer)和指针(pointer)的区别

关键区别:整数是指表示数学整数子集的任何数据类型。指针是其值引用另一个值或存储在系统中的数据的数据类型。 整数和指针在计算机编程语言中都很常用。这两个术语彼此不同,但指的是存储在计算机中的数据。整数是...

  • 发布于 2021-07-13 16:50
  • 阅读 ( 202 )
阑珊等故人
阑珊等故人

0 篇文章