-
2022-05-05 10:29:25
利用指针访问数组中元素
示例:int main() { int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; //数组名arr代表的是数组第一个元素的地址 int * p = arr; //指向数组的指针 cout << "第一个元素: " << arr[0] << endl; cout << "指针访问第一个元素: " << *p << endl; for (int i = 0; i < 10; i++) { //利用指针遍历数组 cout << *p << endl; p++; } system("pause"); return 0; }
更多相关内容 -
JS 五种方法访问数组最后一个元素
2021-06-25 18:29:25在开发的时候经常需要访问数组的最后一个元素,这里总结一下常用的方法。 1. 使用 arr[arr.length - 1] 首先最常规的方法就是使用 arr[arr.length - 1] ,缺点就是这样写太长了,例如下面这个数组: const lastEle =...在开发的时候经常需要访问数组的最后一个元素,这里总结一下常用的方法。
1. 使用
arr[arr.length - 1]
首先最常规的方法就是使用
arr[arr.length - 1]
,缺点就是这样写太长了,例如下面这个数组:const lastEle = this.form.users[this.form.users - 1];
对于类数组对象,例如
arguments
、Set
、NodeList
,推荐使用这个方法,也可以先转为数组再用数组操作方法处理,但是会有额外性能开销2. 使用
slice
方法数组实例的
slice
方法返回一个由begin
和end
组成的闭开区间的新数组,如果end
被省略,则slice
会一直提取到原数组末尾。因此,只要让begin
等于-1
并且省略end
就能提取到最后一个元素了。需要注意slice
返回的是数组,所以还需要用下标访问一下元素:const lastEle = ["apple", "banana"].slice(-1)[0];
3. 使用
reverse
方法数组实例的
reverse
方法,可以反转数组元素的顺序,这样访问最后一个元素就变成访问第一个元素了。但是要注意reverse
方法会修改原数组,因此在调用前需要先浅拷贝一下:const lastEle = [...this.form.users].reverse()[0];
4. 使用
pop
方法数组实例的
pop
方法,会移除数组的最后一个元素,并且返回这个元素,这样就可以访问到最后一个元素了。注意这个方法同样也会修改原数组,因此在调用前也需要浅拷贝:const lastEle = [...this.form.users].pop();
5. 使用
at
方法JavaScript 中可以使用下标访问数组,但是这个下标只能是非负数,这样就导致了很大的局限性。例如在 Python 中,我们可以传入一个负的下标,当下标为负时,就会从数组的最后向前查找,因此当需要访问最后一个元素就可以这样:
# Python 代码 arr = ["apple", "banana"] lastEle = arr[-1] # "banana"
在 JS 里面有一个实验性语法
Array.prototype.at
方法 (Relative indexing method) ,接受一个整数作为下标返回对应的元素。如果传非负下标,那就和方括号语法一致,如果传负的下标,就会从后向前查找,可以很方便地访问数组最后一个元素:const fruit = ["apple", "banana"]; fruit.at(0); // "apple" fruit.at(-1); // "banana"
该语法目前处于 Stage 3 阶段,还没有浏览器支持,但是可以使用
core-js
进行 polyfill 。 -
PHP 访问数组中的元素
2021-10-24 23:11:08PHP 访问数组中的元素访问数组中的元素改变元素内容用 print_r() 函数输出整个数组统计数组中元素的个数 访问数组中的元素 数组元素和访问方法与字符串中单个字符的访问访问方法一样: <?php $ble=array("苹果"=&...1. 访问数组中的元素
数组元素和访问方法与字符串中单个字符的访问访问方法一样:
<?php $ble=array("苹果"=>"5.68","奶油面包"=>"3","酸奶"=>"20"); $bles=array("豆奶","麦片","酸奶","苹果","8"=>"面包"); $fods=$ble['奶油面包']; //$fods 的值为"5.68" $cc=$bles['8']; //$cc 的值为"面包" echo $fods."\r\n"; echo $cc; ?>
执行结果如下所示:
访问素组需要先写变量名,后跟上一对方括号,方括号里面是元素的索引;
若需要访问关联数组的元素,则不是使用数值索引,而是使用字符串索引:<?php $ble=array("苹果"=>"5.68","奶油面包"=>"3","酸奶"=>"20"); $bles=array("豆奶","麦片","酸奶","苹果","9"=>"面包"); $fods=$ble['奶油面包']; //$fods 的值为"5.68" $cc=8; echo $fods."\r\n"; echo $bles[$cc+1]; //显示数组中的“面包” ?>
执行结果如下所示:
数值变量名后面的方括号中的内容不一定必须为常量,可以是任何表达式,只要表达式的值是一个合适的整数或字符串就行:
2. 改变元素内容
不仅能访问数组元素的值,还能用同样的方法修改数组元素的值;
把数组元素看成单独的变量,就能随意创建、读取、写入它的值
例子:
将数组中的第三个元素的值从“烧鸡”换成“烧鸭”:<?php $ble=array("酸菜鱼","白切鸡","烧鸡","卤肉"); $ble[2]="烧鸭"; echo $ble[2]; ?>
增加数组元素的两种方式:
<?php $ble=array("酸菜鱼","白切鸡","烧鸡","卤肉"); $ble[4]="糖醋排骨"; //第一种方括号+索引 echo $ble[4]; $ble[]="菠萝鸡"; //第二种方括号 echo $ble[5]; ?>
执行结果如下所示:
还可以用方括号的方式,创建一个全新的数组:
例子 :<?php //用array创建一个数组 $ble1=array("酸菜鱼","烧鸡","卤肉","菠萝鸡"); //用[]创建一个相同的数组 $ble2[0]="酸菜鱼2"; $ble2[1]="烧鸡2"; $ble2[2]="卤肉2"; $ble2[3]="菠萝鸡2"; //用空[]创建一个相同的数组 $ble3[]="酸菜鱼3"; $ble3[]="烧鸡3"; $ble3[]="卤肉3"; $ble3[]="菠萝鸡3"; var_dump($ble1); var_dump($ble2); var_dump($ble3); ?>
执行结果如下所示:
与普通变量相同,必须先初始化数组;
如果上面的$ble2 和 $ble3
数组变量已经存在,并且包含其他元素,那么执行代码后,数组可能就会包含不止上述赋值的四个元素;
若无法确定一个数组是否已创建,最好的是在创建数组之前,先对数组变量进行初始化,即便当前还不需要创建数组元素;
初始化数组只需用 array()构造函数
以空的列表为参数即可:$ble=array()
在创建一个没有任何元素的数组(空数组)之后,还能给它添加元素:
$ble3[]="酸菜鱼3"; $ble3[]="烧鸡3"; $ble3[]="卤肉3"; $ble3[]="菠萝鸡3";
用方括号[]还能给关联数组添加元素或修改元素的值;
关联数组的两种赋值方式:<?php //使用array()构造函数创建一个关联数组 $ble=array("title"=>"php", "author"=>"王某", "pubYear"=>2019); //使用数组名加[]创建一个相同的关联数组 $ble=array(); $ble["title"]="php"; $ble["author"]="王某"; $ble["pubYear"]=2019; var_dump($ble); var_dump($ble); ?>
执行结果如下所示:
修改关联数组的元素值与修改索引数组的元素值一样,具体方法如下:
$ble["title"]="python"; $ble["pubYear"]=2021;
3. 用 print_r() 函数输出整个数组
普通变量,用print() 和 echo()函数输出,print_r()函数可输出数组的全部内容,用于调试;
print_r($ble);
例子 :
创建一个索引数组和关联数组,再使用print_r()函数输出,<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>输出数组</title> <link rel="stylesheet" type="text/css" href="common.css" /> </head> <body> <h1>用print_r()输出数组</h1> <?php header("content-type:text/html;charset=utf-8"); $ble=array("酸菜鱼","烧鸡","卤肉","生煎","汤"); $ble2=array("title"=>'PHP', "author"=>"王某", "pubYear"=>2019); echo '<h2>$ble:</h2><pre>'; print_r($ble); echo '</pre><h2>$ble2:</h2><pre>'; print_r($ble2); echo "</pre>"; ?> </body> </html>
执行结果如下所示:
print_r()函数
先输出传递给它的变量的类型,即array()
,再以key=>value的
形式输出数组的全部元素;
脚本用<pre> 和 </pre>
标签控制print_r()的输出格式,我们看到的就是格式化之后的结果;若没有这些标签,结果将以一行显示在网页上;
如要把print_r()的输出结果储存到一个字符串中,而不是输出到浏览器中,则需要给它传递第二个参数TRUE;$arrayStructure=print_r($array,true); echo $arrayStructure;
用
array_slice()函数
读取数组中的连续几个元素
若想一次性访问多个元素,可使用array_sliece()函数
,他可以从一组数组中读取一组元素;
使用 array_slice()函数时,要把数组变量传递给它,之后第一个元素的位置(从0开始),后面再跟一个数值,表示要读取元素的个数;
函数可返回一个数自,该数组的元素就是原数组的部分元素;
注意:array_slice()
不保留原数组的键值,而是会在新数组中从0开始重新设置索引;
关联数组并没有数值索引,但PHP会记住每个元素在关联数组中的顺序,所以,可利用arrat_silce()函数
读取关联数组的部分元素;4. 统计数组中元素的个数
count()函数可统计数组元素的个数;
只需把一个数组传递给count()函数,就得到数组的元素个数是多少;<?php $ble=array("酸奶","高钙奶","低脂奶","豆奶","脱脂奶"); $bles=array("title"=>"php", "author"=>"王某", "pubYear"=>2019); echo count($ble)."<br>"; //输出"5" echo count($bles); //输出"3" ?>
执行结果如下所示:
用conut()函数还能读取索引数组的最后一个元素;
例子 :<?php $ble=array("酸奶","高钙奶","低脂奶","豆奶","脱脂奶"); $bbc=count($ble)-1; echo $ble[$bbc]; ?>
执行结果如下所示:
一个包含了五个元素的索引数组,它的最后一个元素索引不一定是4,如下面例子:<?php $ble=array(0=>"酸奶",1=>"高钙奶",2=>"低脂奶",3=>"豆奶",6=>"脱脂奶"); $bbc=count($ble)-1; echo $ble[$bbc]; ?>
执行结果如下所示:
上面例子中数组使用的是数字键,表示它是一个 索引数组,但键值对不连续,也可以看成一个使用数值键的 关联数组 ;PHP内部不区分索引数组和关联数组
,所以有可能创建一个非连续性的索引数组;
所以在上面的例子这种PHP会输出 Undefined Offset(即“没有定义的偏移”),因此用 echo语句输出得到一个空字符串;5. 逐个访问数组中的元素
用PHP语言创建数组时,PHP会记住元素的创建顺序,并报存一个内部指针,指向数组中的元素;指针初始化时会指向第一个创建的数组元素,但可以任意地向前或向后移动这个指针;
下表中的函数可操作这个指针并访问指向的元素:
每个函数都只有一个参数,即数组,返回的是找到的元素的值或索引;若找不到返回FALSE;
例子 :<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>访问数组</title> <link rel="stylesheet" type="text/css" href="common.css" /> </head> <body> <h2>访问数组</h2> <?php header("content-type:text/html;charset=utf-8"); $ble=array("酸菜鱼","烧鸡","卤肉","生煎","羊肉汤"); echo "<p>作者组:".print_r($ble).".</p>"; echo "<p>当前数组元素是:".current($ble).".</p>"; echo "<p>下一个元素是:".next($ble).".</p>"; echo "<P>当前元素的键是:".key($ble).".</P>"; echo "<p>下一个元素是:".next($ble).".</p>"; echo "<p>前一个元素是:".prev($ble).".</p>"; echo "<p>第一个元素是:".reset($ble).".</p>"; echo "<p>最后一个元素是:".end($ble).".</p>"; echo "<p>前一个元素是:".prev($ble).",</p>"; ?> </body> </html>
执行结果如下所示:
注意在这个脚本中,这些函数是如何向前或向后移动数组指针的(current() 和key() 函数式例外情况,这两个函数只返回当前元素的键或值,指针没有移动);6. each() 函数
each() 函数,返回数组当前的元素,将指针移动到下一个元素;each() 函数返回的不是一个值,而是一个包含了四个元素的数组,其中包含了键和值;
若找不到某个元素——可能是指针到了末尾,或是空数组,则 each()返回FALSE;
所以,用each() 很容易判断,读取的值是否为FALSE的元素,会返回一个包含了四个元素的数组,若找不到元素,返回FALSE;
each() 函数数组返回的四元数组说明了PHP数组的灵活性,因为它既包含数值型元素,也包含了字符串元素;
如下表所示:
用0索引或"key"访问当前元素的键,用1或"value"访问当前元素的值;
例子 :<?php $ble=array(0=>"酸奶",1=>"高钙奶",2=>"低脂奶",3=>"豆奶",6=>"脱脂奶"); $bbc=each($ble); echo "key:".$bbc[0]."<br>"; echo "value:".$bbc[1]."<br>"; echo "key:".$bbc["key"]."<br>"; echo "value:".$bbc["value"]."<br>"; ?>
执行结果如下所示:
用each()函数读取一个值为FALSE的数组元素:<?php $ble=array(false); $bbc=each($ble); echo "key:".$bbc[0]."\r\n"; echo "value:".$bbc[1]."\r\n"; echo "key:".$bbc["key"]."\r\n"; echo "value:".$bbc["value"]."\r\n"; ?>
执行结果如下所示:
因为each()函数会返回当前数组元素,同时把数组指针向前移动一个位置,可在 while 循环中用它访问数组的每个元素;
例子 :<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title> 用each()返回当前数组元素 </title> <link rel="stylesheet" type="text/css" href="common.css" /> </head> <body> <h2> 用each()返回当前数组元素 </h2> <?php header("content-type:text/html;charset=utf-8"); $ble=array("酸菜鱼","烧鸡","卤肉","生煎","羊肉汤"); while ($bbc=each($ble)) { echo "<dt>$bbc[0]</dt>"; echo "<dt>$bbc[1]</dt>"; } ?> </body> </html>
执行结果如下所示:
用each()返回的是数组的四个元素(它的赋值运算结果为TRUE),这个while 循环就会一直执行下去;当到达数组末尾时,each() 函数就会返回FALSE,至此循环结束;结束语
若这篇文章有帮到你,给个赞,收个藏,欢迎大家留言评论;
若文章有什么错误,欢迎大家指教。 -
shell 获取数组第一个 最后一个元素
2022-01-08 18:26:01#!/bin/bash #echo hi my_array[0]=A my_array[1]=B my_array[2]=C my_array[3]=D ...echo "第一个: ${my_array[0]}" lastIndex=$((${#my_array[@]}-1)) echo "最后一个: ${my_array[lastIndex]}" ...#!/bin/bash #echo hi my_array[0]=A my_array[1]=B my_array[2]=C my_array[3]=D echo "数组元素个数为: ${#my_array[*]}" echo "数组元素个数为: ${#my_array[@]}" echo "第一个: ${my_array[0]}" lastIndex=$((${#my_array[@]}-1)) echo "最后一个: ${my_array[lastIndex]}"
-
JavaScript之数组的定义和访问数组元素
2021-09-30 22:59:361、数组的定义 a、数组的概念。 数组,就是我们可以用一个变量名来存储一系列数值。我们将数值或者字符串赋值给变量时,一个变量里只能存储一个数值或者字符串。而数组这个数据类型,就是可以使用同一个变量,... -
C语言访问数组元素
2021-05-20 14:31:56因此,如果我们需要访问数组的第一个元素,其索引是 0,要访问数组的最后一个元素,其索引是数组的长度减一。如果我们访问的数组的索引超过了数组的长度减一,那么程序会崩溃。C语言访问数组元素详解语法arr[i]参数... -
Go语言自学系列 | go语言访问数组元素
2022-04-19 17:19:03视频来源:B站《golang入门到项目...可以通过下标的方式,来访问数组元素。数组的最大下标为数组长度-1,大于这个下标会发生数组越界。 访问数组元素 实例 package main import "fmt" func main() { var a [2]in -
28-Java静态初始化数组、访问数组元素值以及注意事项
2022-06-19 18:48:29Java数组定义方式一:静态初始化数组、如何访问数组元素值、以及注意事项 -
一维数组数组名、首元素地址以及二维数组首元素地址,第i行元素地址,元素地址等等的区别(超详细)
2022-04-13 20:36:41(1)一般情况下数组名都是代表首元素的地址,除了以下两种情况: <1>sizeof(数组名) //注意:()里仅有数组名,不能有其它的东西 <2>&数组名 (2)sizeof()函数的作用 sizeof()计算... -
创建数组及访问数组元素
2019-12-06 10:29:17创建数组 Array对象是js中的内置对象,用于构造数组的全局对象。 创建数组基本方式有两种: 1、使用Array构造函数(new操作符可以省略) var names= new Array(); names[0]='Tom'; name[1]='Marry'; //创建 length 值... -
c代码-运用指针计算10个元素数组中最大值最小值并返回在数组中的位置
2021-07-14 21:58:16c代码-运用指针计算10个元素数组中最大值最小值并返回在数组中的位置 -
C# 访问数组元素
2019-02-14 10:25:47using System; using System.Collections.Generic; using System.Linq; using System.Text;...namespace _1212_访问数组元素 { class Program { //在C#中,使用索引来访问数组元素。索引必须是一... -
Java初学者:数组,访问数组元素
2021-02-12 12:26:37数组实际上是一种简单的数据结构,它在计算机中是顺序存储的,而我们要使用数组,实际上是要使用数组中的元素,比如我们有一个这样的数组int[] a = {5, 7, 2, 4}; 那么,我们如何找到并使用7这个数字呢?数组的下标... -
第7章 数组-2数组元素的访问及螺旋矩阵-简化1
2022-08-03 14:37:06第7章 数组——数组元素的访问与螺旋矩阵C语言程序设计第7章 数组数组元素的输入和输出1234567891011 12 13 14 1516 17 18 19 -
C语言基础:数组(声明数组、初始化数组、访问数组元素)
2021-12-20 13:02:48数组(声明数组、初始化数组、访问数组元素) -
javascript 操作数组: 把第一个元素和第二个元素调换位置,返回修改后的数组内容
2022-04-04 23:23:28它的工作原理与普通对象类似(以数字为属性名,但只能通过[] 来访问),但数组还有一个特殊的属性——length(长度)属性。这个属性的值通常比数组最大索引大 1。 创建数组的传统方法是: var a = new Array(); a... -
C++基础之利用指针访问数组中的元素
2020-07-03 10:47:40关键点:拿到数组首地址。 #include <iostream> using namespace std; int main() { int arr[] = { 1,2,3,4,5,6,7,8,9,10 };...//数组名就是数组首地址 ... "指针访问第一个元素:" << *p << endl;/ -
怎么访问数组指针指向的数组元素?
2020-02-29 13:32:13mark一下有关数组指针的题。 问: char arr[100]={0,1,2,3...,99}; char (* P_arr)[5]= (char (*)[5])arr; 在以上伪代码中, * ( *(P_arr+1)+1)的值是多少? 前几天思考了很久,总是有些混乱,原因是对数组指针... -
12关于访问数组元素的方法
2021-07-14 22:40:021,,文本类数组的几种方法 1.lastIndexOf() , .indexOf() 根据索引查找某个数组元素 语法格式: 数组名.indexOf() //重开头查找某个数组元素 ...//参数用来填写合并的第二个数组 2.join()把所有的数组转换成.. -
C语言--在排序数组中查找元素的第一个和最后一个位置
2020-02-17 12:02:38在排序数组中查找元素的第一个和最后一个位置 给定一个按照升序排列的整数数组 nums,和一个目标值 target。 找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不... -
通过数组名访问数组元素的一些常见小计算
2018-05-26 23:31:28数组名的含义有以下几种情况:1....其他情况下数组名表示数组首元素的地址我们先定义一个一维数组:int main(){int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };//聚合类型 初始化一部分剩余部分为0;prin... -
取出二维数组中每个数组元素的第一个值 ,组成新的数据
2019-07-10 14:45:55$arr = [ 'name' =>array('校长','老师','学生'), 'action' =>...目标:取数组中的name的第一个元素,与action的第一个元素、leve的第一个元素 作为新数组中的第一个元素; 取数组中的n... -
Bash Shell脚本中的数组使用实例
2021-05-23 05:42:39声明一个数组,括号中的所有元素都是数组的元素。上面的示例返回第三、第四个索引的值。索引始终以零开头。注意,该数组替换,不会写入到数组里面。...在此示例中,${Unix[@]:0:$pos}值获取第1个索引的元素,,而... -
C语言指针数组(数组每个元素都是指针)详解
2020-05-27 21:55:40声明!本文转载仅为方便学习使用! 如有需要,请访问 C语言指针数组(数组每个元素都是指针)详解 C语言二维数组指针...括号里面说明arrayName是一个数组,包含了length个元素,括号外面说明每个元素的类型为dataT -
数组元素访问 方法总结
2020-12-12 23:55:00数组 之 元素访问 1.下标法 直观 2.地址法 3.指针法 简洁 高效 #include <stdio.h> int main(){ int a[5] ={1,3,5,7,9}; /* 方法一 下标法 */ // for(int i=0;i<5;i++){ // printf("%d ",a[i]) ; // ... -
C语言:指针访问数组中的元素
2021-11-21 20:19:02设指针变量px的地址值等于数组指针x(即指针变量px指向数组的首元素),则:x[i],*(px+i),*(x+i)和px[i]具有完全相同的功能:访问数组第i+1个数组元素。 注意: 指针变量和数组在访问数组中元素时,一定条件下其... -
【C 语言】数组 ( 多维数组操作模型 | 取某个数组元素地址 | 取某个数组元素值 )
2021-11-29 19:31:36一、多维数组操作模型、 1、取出某个数组元素地址、 2、取出某个数组元素值、 -
numpy 数组元素访问详解
2019-07-09 11:31:201. 代码 import numpy as np X = np.array([[0,1,2],[3,4,5],[6,7,8],[9,10,11],[12,13,14],[15,16,17],[18,19,20]])...print(X[:,1])#输出所有1列元素 print(X[1,:])#输出1行元素 print(X[1])#输出1行元素 print(X[...