搜索
首页后端开发C#.Net教程数组指针的用法有哪些?
数组指针的用法有哪些?Jun 11, 2020 pm 04:20 PM
数组指针

数组指针的用法有哪些?

int *a[4]; //指针数组

指针数组就相当于一次声明了多个指针。数组的每一个元素都是一个指针。很好理解,下面主要看数组指针

int (*p)[4]; //数组指针

数组指针就相当于一次声明了一个指针。只不过这个指针指向很特别,是一个数组。

[]优先级大于*,故数组指针声明时要加()。

例1:

#include<stdio.h>#include<stdlib.h>void main()
{    //数组指针的用法,用处。
    int b[16]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};    int (*p)[4]; //该语句是定义一个数组指针,指针步长为4个int即16位。    //int *p2=&b;
    p=&b;    int i=0;    while(i<16)
    {
          printf("%d\t",(*p)[i]);          //printf("%d\t",*p2++);
          i++;
    }
}

printf("%d\t",(*p)[i]);遍历输出数组b;
数组指针就相当于舞王僵尸一样,带了小弟,n就是小弟的个数,通过下标值能直接访问到具体哪一个小弟,即数组里哪一个数

数组指针下标自增(i++)的时候,指针指向不变。

这里直接用整形指针就可实现,而且更方便简洁。见上面被注释部分。

 

例2:把例1的while()语句替换。

  while(i<4)
    {
          printf("%d\t",(*p++)[0]);
          i++;
    }

例2输出1 5 9 13,相当于指针一次移动了4个int.16个字节。

数组指针自增(*p++)时,指针指向移动sizeof(类型)。

其实上句在其他类型指针也适用。

如int *p;

 //指针指向了int,就是整型指针,整型指针有啥特点?就是能保存整形变量的地址。有啥用途?就是p++的时候能指向下一个int型数。所以了?经常用指针指向一个数组。因为他们都是int型的,所以推导出步长了?整型指针的步长为sizeof(int),即4字节    

//同理可以得出什么float型指针,char型指针什么的。。。    

同理就得出了数组指针,特点?保存数组首地址。用途?p++的时候能指向下一个数组。所以了?要用它来指向一个二维数组。因为二维数组里的每一个元素都是相同类型的(都是一个int型数组),所以推导出步长了?sizeof(int[4]),即16

//说白了就一指针,指向了数组类型

 

例3:数组指针指向二维数组。

#include<stdio.h>#include<stdlib.h>void main()
{    int a[3][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24}};    int (*p)[4]; //该语句是定义一个数组指针,指针步长为4个int即16位。
    p=&a;    int i=0;    while(i<3)
    {        //printf("%d\t",(*p)[i]);        //数组指针,指向的是一个数组整体,相当于指针也带了下标,当执行i++操作时,下标+1,得到该数组的下一个元素,        //在该例中,指针没有位移,所以依次输出为1 2 3
        printf("%d\t",(*p++)[0]);        //整型数组类型的指针,指向的是一个数组整体,当执行*p++操作时,指针位移该数组长度的位数        //在该例中,即指针位移4个int的长度,所以输出是1 11 21
        i++;
    }
}

推荐教程:《C视频教程

以上是数组指针的用法有哪些?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
php数组指针什么用php数组指针什么用Dec 28, 2022 pm 07:23 PM

php数组指针用于操作数组。数组指针是数组内部的组织机制,每个数组都有一个内部的指针指向它“当前的”单元(元素),这个指针最初指向的是当前数组中的第一个单元;通过移动或改变数组指针的位置,可以访问数组中的任意元素。对于数组指针的控制PHP提供了多个内置函数:current()、pos()、key()、next()、prev()、end()、reset()。

如何使用PHP中的next函数移动数组指针到下一个元素如何使用PHP中的next函数移动数组指针到下一个元素Jun 26, 2023 pm 03:55 PM

PHP是一种广泛应用于网页开发的服务器端脚本语言,其语法类似于C语言,同时也提供了许多方便的函数和库。在PHP中,next()函数是一种用于移动数组指针到下一个元素的常用函数。一、什么是数组指针在PHP中,数组是一种非常方便的数据结构,可以存储很多有序的数据。数组中的每一个元素都有一个对应的下标,可以用来访问和修改该元素的值。除了通过下标来访问数组元素外,还

Golang函数的指针数组、数组指针的应用技巧Golang函数的指针数组、数组指针的应用技巧May 16, 2023 pm 04:00 PM

随着Golang语言的不断发展,函数的指针数组和数组指针也成为了Golang编程中的重要组成部分。在本篇文章中,我们将会探讨Golang函数的指针数组和数组指针的应用技巧,并为大家提供一些实用的示例代码和相关的解释。Golang指针数组的基本概念首先,让我们先来了解一下Golang指针数组。指针数组是一种数据类型,它是由多个指向不同变量或对象的指针组成的数组

数组指针和指针数组有什么区别数组指针和指针数组有什么区别Sep 22, 2023 am 09:51 AM

数组指针和指针数组区别有:1、数组指针是一个指针,而存指针数组是一个数组;2、数组指针的声明方式是int *p = arr;,而指针数组的声明方式是int *arr[5];;3、数组指针可以用p[i]的形式访问数组中的元素,而指针数组需要用arr[i]的形式访问数组中的元素。

指针数组和数组指针的区别是什么指针数组和数组指针的区别是什么Sep 04, 2023 pm 03:45 PM

指针数组和数组指针是两种不同类型的概念,在定义和使用上有所区别:1、指针数组是一个数组,其中的每个元素都是指针类型,而数组指针是一个指针,它指向一个数组的首地址;2、指针数组的声明方式为“type *array[]”,而数组指针的声明方式为“type (*ptr)[size]”。

指针数组和数组指针的区别是什么指针数组和数组指针的区别是什么Jan 06, 2023 pm 04:50 PM

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

PHP中如何使用reset函数将数组指针移回数组开头PHP中如何使用reset函数将数组指针移回数组开头Jun 26, 2023 pm 12:45 PM

在PHP中,可以使用reset函数将数组指针移回数组开头。使用reset函数之前,需要知道数组指针的概念。数组指针是一个内部的指针,指向当前操作的数组元素。在PHP中,可以使用foreach循环来遍历数组,也可以使用while循环和数组指针来遍历数组。不过,在使用while循环和数组指针遍历数组时,需要使用reset函数将数组指针移回数组开头。使用reset

数组指针和数组引用有什么区别?数组指针和数组引用有什么区别?Jun 04, 2024 am 10:01 AM

数组指针和数组引用之间有以下区别:解引用需要:数组指针需要解引用,而数组引用不需要。指针算术:数组指针支持指针算术,而数组引用不支持。地址:数组指针存储数组首元素地址,而数组引用不是地址。常量kval:数组指针可以指向constkval,而数组引用不能。数组大小:数组指针不存储数组大小,而数组引用隐式地包含数组大小。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具