rsdb.net
当前位置:首页 >> pErl为什么数组名不能是变量 >>

pErl为什么数组名不能是变量

你这样的命名本来就是错的... 去掉 strict, 你就不会发现这样的命名是不对的, 往後的处理也将是错的. ( 如果结果还是对的, 那只是你走运而已 ) 想像一下 my @array = ( 1..10 ); my $array[1] = 10; @array = (); print @array; 你还能理解 $arr...

1. @{....}[...] 先不论这里有没有写错, 但这种表达方式, 以 @ 开头, 头面有 [ ] , 我们叫 array slice 是应该放在等号右手边的 @arr0 = (0..10)@arr1 = @arr0[1..2]; # @arr1 = 1, 2$x = [ 1..10 ];@y = @{$x}[1,2]; # @y = 1, 2这里你放到了左...

你可以用hash,将名字作为键,指向一个数组,例如: perl -le ' $hash{"test"}[0]=1 ; $hash{"test"}[1]=100 ; print "@{$hash{\"test\"}}" ; '

可以试一下这几种方式,每种方式各有优劣: #!/bin/perl -w use strict; my @arr = ( "aaa","bbb","ccc","ddd","eee","fff"); # 这个是数组 my $vv = "ddd"; # 这个是要查找的变量 # 方法1,:使用类似c语言的风格,遍历这个数组,查找变量是否匹...

数组名不就是数组首元素的地址嘛,数组一确定,那首地址不也就定了嘛。

既然是先定义后使用的话,可以将所有的数组放在list中啊,也可以达到你要的效果

当然可以了试试不就知道了

不对。 指针变量不单指可以指向某个数组首地址,还可以指向其他。 比如说结构体的首地址,函数的入口地址等等。或者还可以指向数组当中某个元素。 数组名是一个地址,某种意义上等价于指针。而不是指针变量。 指针变量 int *p=0; p就是一个指针...

可以的,但是注意这个变量的取值范围——在这个例子里,得确保 i 是0到9的整数,不然会出错。 另外,声明数组不能用变量的原因是,数组一旦声明就确定了(内存安排好了)。下标就可以用变量,调用的时候就显得更方便灵活。

int a=1; int a[5]={5,4,3,2,1}; int *p; p=&a; cout

网站首页 | 网站地图
All rights reserved Powered by www.rsdb.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com