C++ 指针数组2025 年 3 月 7 日 | 阅读 4 分钟 数组和指针彼此密切相关。在 C++ 中,数组的名称被视为指针,即数组的名称包含元素的地址。C++ 将数组名视为第一个元素的地址。例如,如果我们创建一个名为 marks 的数组,它存储 20 个整数类型的值,那么 marks 将包含第一个元素(即 marks[0])的地址。因此,我们可以说数组名 (marks) 是一个指向数组第一个元素的指针。 让我们通过一个例子来理解这种情况。 示例在上面的代码中,我们声明了一个整数指针和一个整数类型的数组。我们通过语句 ptr=marks; 将 marks 的地址赋给 ptr;这意味着变量 'marks' 和 'ptr' 都指向同一个元素,即 marks[0]。当我们尝试打印 *ptr 和 *marks 的值时,它们是相同的。因此,证明了数组名存储数组第一个元素的地址。 输出 ![]() 指针数组指针数组是一个由指针类型变量组成的数组,这意味着该变量是一个指向其他元素的指针。假设我们创建一个包含 5 个整数指针的指针数组;那么它的声明将如下所示 在上面的声明中,我们声明了一个名为 ptr 的指针数组,它在内存中分配了 5 个整数指针。 指针数组的元素也可以通过分配其他元素的地址来初始化。让我们通过一个例子来观察这种情况。 在上面的代码中,我们将变量 'a' 的地址分配给数组 'ptr' 的第三个元素。 我们还可以通过解引用指针来检索 'a' 的值。 让我们通过一个例子来理解。 示例在上面的代码中,我们声明了一个整数类型的数组和一个整数指针数组。我们定义了 'for' 循环,它遍历数组 'ptr1' 的元素,在每次迭代中,ptr1 中索引 'i' 处的元素的地址存储在 ptr2 中索引 'i' 处。 输出 ![]() 到目前为止,我们已经学习了指向整数的指针数组。现在,我们将看到如何创建指向字符串的指针数组。 指向字符串的指针数组指向字符串的指针数组是一个字符指针数组,它保存字符串第一个字符的地址,或者我们可以说字符串的基地址。 以下是指向字符串的指针数组和二维字符数组之间的区别
让我们看看如何声明指向字符串的指针数组。 首先,我们声明指向字符串的指针数组 在上面的代码中,我们声明了一个大小为 5 的名为 'names' 的指针数组。在上面的情况下,我们在声明时进行了初始化,因此我们不需要提及指针数组的大小。上面的代码可以改写为 在上述情况下,'names' 数组的每个元素都是一个字符串字面量,每个字符串字面量都将保存字符串第一个字符的基地址。例如,names[0] 包含 "john" 的基地址,names[1] 包含 "Peter" 的基地址,依此类推。不能保证所有字符串字面量都将存储在连续的内存位置,但字符串字面量的字符存储在连续的内存位置。 让我们创建一个简单的例子。 示例编译并运行在上面的代码中,我们声明了一个包含 5 个字符串字面量的 char 指针数组,每个字符串的第一个字符都保存着字符串的基地址。 输出 john Peter Marco Devin Ronan 下一主题C++ 空指针 |
在 C++ 中,引用使用“与号”(&)符号定义。引用变量是 C++ 中现有变量的别名,它提供了对同一内存位置的访问,只是名称不同。一个变量的引用不能被改变以引用...
7 分钟阅读
C++ 中 malloc() 和 new 的区别 在 C++ 中,malloc() 函数和 new 运算符主要用于动态分配内存。但是,这两个函数用于相同的目的,但在几个方面有所不同。malloc() 和 new 之间的主要区别在于...
7 分钟阅读
在 C++ 中,函数指针是一种指向函数而不是数据值的指针类型。它允许将函数作为参数传递、存储在数组中或从其他函数返回,从而实现动态函数调用和灵活的编程结构,...
7 分钟阅读
C++ 中引用和指针的区别 在 C++ 中,引用和指针看起来相似,但它们之间存在一些差异。引用是现有变量的另一个名称,而指针是存储地址的变量...
阅读 6 分钟
C++ 中的 sizeof() 运算符 在 C++ 中,sizeof() 是一个运算符,用于计算数据类型、常量和变量的大小。它是一个编译时运算符,因为它在编译时返回任何变量或常量的大小。它非常有用...
阅读 10 分钟
C++ 中的内存管理 在 C++ 中,内存管理是一个管理计算机内存并为程序分配内存空间以提高整体系统性能的过程。内存管理也很有用,因为它允许在运行时进行动态内存分配。在此过程中,...
7 分钟阅读
在 C++ 中,void 指针是一种特殊的指针类型,它可以存储任何数据类型的地址。它是一种通用指针,因为它不与任何特定的数据类型相关联。编译器将其声明为原始内存地址,因为...
11 分钟阅读
C++ 中 free 和 delete 的区别 在 C++ 中,free() 函数和 delete 运算符都主要用于释放动态分配的内存。两者都有类似的功能,但在来源、用法、行为、类型安全等几个方面有所不同。在此...
阅读 6 分钟
在 C++ 编程语言中,指针是一个变量,也称为定位符或指示符,它指向值的地址。地址的符号由指针(*)星号表示。除了创建和修改...
阅读 8 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India