广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >指针数组和数组指针的区别是什么
  • 562
分享到

指针数组和数组指针的区别是什么

指针数组数组指针C语言 2023-05-14 19:05:16 562人浏览 薄情痞子
摘要

区别:对指针数组来说,首先它是一个数组,数组的元素都是指针,也就是说该数组存储的是指针,数组占多少个字节由数组本身决定;而对数组指针来说,首先它是一个指针,它指向一个数组,也就是说它是指向数组的指针,在 32 位系统下永远占 4 字节,至于

区别:对指针数组来说,首先它是一个数组,数组的元素都是指针,也就是说该数组存储的是指针,数组占多少个字节由数组本身决定;而对数组指针来说,首先它是一个指针,它指向一个数组,也就是说它是指向数组的指针,在 32 位系统下永远占 4 字节,至于它指向的数组占多少字节,这个不能够确定,要看具体情况。

指针数组和数组指针的区别是什么

教程操作环境:windows7系统、c99版本、Dell G3电脑。

一、数组指针和指针数组的定义

1.指针数组:定义 int *p[n];

指针数组可以说成是”指针的数组”,由于*p没有括号,首先这个变量是一个数组,其次,”指针p”修饰这个数组,意思是说这个数组的所有元素都是指针类型,而指针所占的字节数和其类型无关,只与系统有关,在32位系统下,任何类型的指针占据4个字节,在64位系统下,任何类型的指针占据8个字节。

2.数组指针:定义 int (*p)[n];

由于()的优先级高,首先说明p是一个int类型指针,它是指向一个整型(int)的一维数组,这个一维数组的长度是n,也可以说是总共有n个格子。数组指针也称指向一维数组的指针,亦称行指针。

数组指针也可以称为“数组的指针”,首先这个变量是一个指针,其次,”数组”修饰这个指针,意思是说这个指针存放着一个数组的首地址,或者说这个指针指向一个数组的首地址。

在这里插入图片描述

二、数组指针和指针数组的使用

1.数组指针

首先定义一个数组指针,既然是数组的指针,说明是用指针p去指向一个一维数组,即:

int (*p)[[4]];
 //这里定义int类型,p是一个指针,指向一维数组的首地址,这个一维数组大小为4

也就是说,int类型的指针p指向int [[4]]的数组,而数组的每一个元素是一个int类型的变量。

数组指针本质是一个指针,而指针的作用就是用来指向变量的地址,所以数组指针一般可以这样使用(示例):

void fun(int (*P)[4]); //子函数中的形参,数组指针 

a[3][4] = {0}; //主函数中定义的二维数组
fun(a); //主函数调用子函数的实参,是二维数组的首元素首地址

2.指针数组

对于指针数组,也就是“指针的数组”,说明这个数组的所有元素都是指针类型。不妨定义指针p,例如:

int *p[[4]];
 //这里数组长度为4,所有元素均为int类型的指针

代码如下(示例):

void Fun(char** str);    //子函数中的形参,指针数组

int main()
{
	int arr[3][4];
	char* str = "abc";
	char** q = &str;
}

指针数组和数组指针参数传递问题

传递的参数匹配需要的形参
int *p[4]int **p(指针数组或者二级指针)
int (*p)[4]int (*p)[4](不变)
int [3][4]int (*p)[4](数组指针)
int **pint **p(不变)

三、实际使用的例子

例子:使用指针数组打印出:“sun wu kong”

1.png

// 代码块  打印“sun wu kong”
char str1[] = { 's', 'u', 'n' , '\0' };
char str2[] = { 'w', 'u' ,'\0' };
char str3[] = { 'k', 'o', 'n', 'g' ,'\0' };
char* p[3] = { str1, str2, str3 };

总结

提示:这里对文章进行总结

1、数组指针简单理解为“数组的指针”,首先这个变量是一个指针,其次,”数组”修饰这个指针,意思是说这个指针存放着一个数组的首地址,或者说这个指针指向一个数组的首地址。

2、指针数组简单理解为“指针的数组”,首先这个变量是一个数组,其次,”指针p”修饰这个数组,意思是说这个数组的所有元素都是指针类型。

3、关于函数传参的问题:传递的参数:int *p[4] -> 匹配需要的形参:int **p(指针数组或者二级指针);传递的参数:int (*p)[4] -> 匹配需要的形参:int (*p)[4](不变)。

【相关推荐:C语言视频教程、编程教学】

以上就是指针数组和数组指针的区别是什么的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 指针数组和数组指针的区别是什么

本文链接: https://www.lsjlt.com/news/203526.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 指针数组和数组指针的区别是什么
    区别:对指针数组来说,首先它是一个数组,数组的元素都是指针,也就是说该数组存储的是指针,数组占多少个字节由数组本身决定;而对数组指针来说,首先它是一个指针,它指向一个数组,也就是说它是指向数组的指针,在 32 位系统下永远占 4 字节,至于...
    99+
    2023-05-14
    指针数组 数组指针 C语言
  • php数组指针和指针数组有什么区别
    本篇内容主要讲解“php数组指针和指针数组有什么区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php数组指针和指针数组有什么区别”吧!区别指针数组本身是一个数组,数组的元素都是指针,即数组存...
    99+
    2023-06-20
  • c语言指针数组和数组指针有什么区别
    C语言中,指针数组和数组指针是两种不同的概念。 指针数组(Pointer Array):指针数组是一个数组,其中的元素都是指针类型...
    99+
    2023-10-27
    c语言
  • C语言数组指针和指针数组有什么区别
    这篇文章主要讲解了“C语言数组指针和指针数组有什么区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言数组指针和指针数组有什么区别”吧!区别:指针数组本身是一个数组,数组的元素都是指针,...
    99+
    2023-06-20
  • C语言指针数组和数组指针的区别有哪些
    这篇“C语言指针数组和数组指针的区别有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言指针数组和数组指针的区别有哪些...
    99+
    2023-07-04
  • 掌握指针进阶:探索字符指针、数组指针和指针数组的妙用
    💓博客主页:江池俊的博客⏩收录专栏:C语言进阶之路👉专栏推荐:✅C语言初阶之路 ✅数据结构探索💻代码仓库:江池俊的代码仓库​🎪 社区...
    99+
    2023-09-07
    c语言 开发语言 学习 经验分享
  • C#数组和指针是什么
    这篇文章主要介绍“C#数组和指针是什么”,在日常操作中,相信很多人在C#数组和指针是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#数组和指针是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!C#...
    99+
    2023-06-17
  • C/C++数组名与指针的区别是什么
    这篇文章主要讲解了“C/C++数组名与指针的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C/C++数组名与指针的区别是什么”吧!指针是C/C++语言的特色,而数组名与指针有太多的...
    99+
    2023-06-17
  • C语言数组指针和指针数组怎么应用
    这篇文章主要介绍“C语言数组指针和指针数组怎么应用”,在日常操作中,相信很多人在C语言数组指针和指针数组怎么应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言数组指针和指针数组怎么应用”的疑惑有所帮助!...
    99+
    2023-06-30
  • Golang函数的指针数组、数组指针怎么应用
    这篇文章主要介绍了Golang函数的指针数组、数组指针怎么应用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Golang函数的指针数组、数组指针怎么应用文章都会有所收获,下面我们一起来看看吧。Golang指针数...
    99+
    2023-07-06
  • php中数组指针指的是什么
    这篇“php中数组指针指的是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php中数组指针指的是什么”文章吧。在php中...
    99+
    2023-07-02
  • C++数组和指针的区别与联系
    目录1 数组和指针的概念2 数组和指针的操作2.1 赋值2.2 存储2.3 大小2.4 初始化3 数组和指针的传参3.1 数组的传参3.2 指针的传参4 总结前言: 一直以来,有很多...
    99+
    2022-11-12
    C++数组 C++指针 数组与指针区别
  • php中什么是数组指针
    在php中,数组指针是数组内部的组织机制,每个数组都有一个内部的指针指向它“当前的”单元(元素),这个指针最初指向的是当前数组中的第一个单元;通过移动或改变指针的位置,可以访问数组中的任意元素。对于数组指针的控制PHP提供了多个内置函数:c...
    99+
    2022-06-28
    php php数组
  • Golang函数的指针数组、数组指针的应用技巧
    随着Golang语言的不断发展,函数的指针数组和数组指针也成为了Golang编程中的重要组成部分。在本篇文章中,我们将会探讨Golang函数的指针数组和数组指针的应用技巧,并为大家提供一些实用的示例代码和相关的解释。Golang指针数组的基...
    99+
    2023-05-16
    Golang函数 指针数组 数组指针
  • php数组指针什么用
    php数组指针用于操作数组。数组指针是数组内部的组织机制,每个数组都有一个内部的指针指向它“当前的”单元(元素),这个指针最初指向的是当前数组中的第一个单元;通过移动或改变数组指针的位置,可以访问数组中的任意元素。对于数组指针的控制PHP提...
    99+
    2023-05-14
    数组指针 php数组 php
  • C语言深入分析数组指针和指针数组的应用
    目录一、数组类型二、定义数据类型三、数组指针四、指针数组五、小结一、数组类型 C语言中的数组有自己特定的类型数组的类型由元素类型和数组大小共同决定 例:int array[5] 的类...
    99+
    2022-11-13
    C语言 数组指针 C语言 指针数组
  • c语言的指针数组是什么
    C语言的指针数组是由一组指针组成的数组。每个元素都是一个指向某种类型的指针。指针数组可以用来存储多个指针,这些指针可以指向同一类型的...
    99+
    2023-08-15
    c语言
  • C语言的数组指针与函数指针详解
    目录前言函数指针语法数组指针与指针数组总结前言 数组指针和函数指针都是C语言比较难的知识点,尤其是函数指针,并且函数指针在开发中有着巨大的作用。 函数指针语法 定义一个函数指针,并通...
    99+
    2022-11-13
    C语言数组指针 C语言函数指针
  • C++中指针常量与常量指针的区别是什么
    在C++中,指针常量和常量指针是不同的概念。1. 指针常量(Pointer to constant):指针本身是一个常量,即指针的值...
    99+
    2023-08-16
    C++
  • C语言中指针常量和常量指针的区别是什么
    这篇文章主要介绍了C语言中指针常量和常量指针的区别是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言中指针常量和常量指针的区别是什么文章都会有所收获,下面我们一起来看看吧。在面试中我们经常会被面试官问到...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作