1楼:百度用户
c语言中,数组下标只能是整形常量或整形表达式 问题不明确
数组下标就是0。 这句话错吗? 为什么?
2楼:匿名用户
数组下标是整数。
对于任意的数组 a[n] 合法的下标范围是0~n-1
实际编程的时候, 可以使用的下标是任意整数,包括负值。 只不过使用超出范围的下标属于越界, 会带来不可预知后果。
3楼:网海1书生
默认情况下,数组下标是从0起算的整数
4楼:听不清啊
应该为,数组下标是从0开始的自然数。
c语言中的数组,把下标互换和把数组中的项本身互换有什么区别?
5楼:珂
不存在把数组下标互换这一说法,c语言中数组下标其实就是以数组起始地址的一个偏移量,本质上属于地址,数组下标只是对地址的一个引用,怎么会有互换这一说法呢?而数组中的项就是该地址内所存的值了,你把数组中的内容互换,本质上就是把这两个地址单元的内容互换了下。
6楼:好嘞啊啊啊啊
下标互换 值不变
i=0,j=1,t
a[0]=2 a[1]=3
a[i]=2 a[j]=3
t=i,i=j,j=t;
j=0;i=1;
a[j]=2 a[i]=3
c++能改变数组下标范围么?
7楼:匿名用户
不可以,比如分配一个数组a[100],可以取道a[0]~a[99]
像pascal这样的语言可以设定下标起始值。例如a[1..50]就可以取道a[1]~a[50]
8楼:匿名用户
不可以。
vb是可以的,但c和c++都不行
在c语言中,数组名作为一个固定指针,而下标是指针运算。且并不做下标越界判断,所以只能按规定的(0,n)的下标范围来
其实一样,变通一下就可以了。用习惯了都一样
数组 下标交换 区别
9楼:死后是好人
。。。。
交换两个变量的值还真不是交换的内存地址值。。。
交换的是两个变量内存地址里存的数据
如果int b[10];
int *a=b; 这个才是把b的地址传递到a这样a存储的是b数组的首地址
a[x],x是地址偏移量
如果说a[1]=a[2]
那么是将首地址为a,偏移量为2的地址里的数据存到首地址是a偏移量为1的地址里
像int *a的这种带*的变量才是存储地址的指针,你说的那些都是普通变量,存储的是数据,交换也是交换数据不是交换内存地址,如果俩个指针指的是同一个地址,那么其中一个指针所指地址的数据变了,那么另一个也会自动跟着变得
为什么数组下标从0开始而不是从1开始?
10楼:匿名用户
数组是一段连续的空间,要求a[i]就是求它
的地址,然后找到它。如果从0开始,则a[i]的地址= 首地址 + i*每个数据所占的长度;如果从1开始,则a[i]的地址= 首地址 + (i-1)*每个数据所占的长度。
是不是前一种更好计算呢。
c++数组下标的类型问题,这样为什么不对,应该在怎么改? 10
11楼:符华阳
void fun(const int n)这里的n是一个const 常量 你传的 i 是一个变量 类型不匹配数组必须指定长度
#include
using namespace std;
#define n 3
int main()
12楼:三秒区小王子
数组在定义的时候必须明确的指出数组的大小,你把变量赋给数组肯定是错的!
为什么数组下标值越大,存取时间越长是错的???
13楼:匿名用户
数组下标越大遍历数组时间越长,但是存取都是对单个位置做操作的,下标多大在内存里都是个地址,拿着地址找数据速度都一样
14楼:匿名用户
都有下标了,就好比**号,难道号码越大就越难拔通?
c语言中数组元素的下标可不可以是数组元素,另外··
15楼:无声的硝烟
c语言程序运行时,数组的存在形式是内存中的一块连续地址空间。而访问数组元素时,计算机会将下标做为空间首地址的偏移量来进行寻址,所以当然可以是任何整形数。
比如int array[10],array的地址是0x7fffff00,那么在访问array[3]时,计算机是这样计算的:
每个整形数大小为4个字节,所以用array的地址加上3乘以4,得到0x7fffff0c,那么从0x7fffff0c到0x7fffff0f这4个字节的值就是array[3]的值。
所以无论传入的下标是什么,理论上都可以计算得到一个地址,但是这个地址不一定是有效的。如果地址无效,就会发生段错误(segmentation fault),也即数组越界/地址访问越界。现在的编译器会认为只要下标是个整型变量,就是可以的,但是执行的时候操作系统仍然会进行监测,否则会影响其他程序的运行。
比如说a = , b = ,那么b[a[3]] = b[5]=6,这个是可以允许的。
16楼:匿名用户
当然可以,只要能够被解释成整数的都可以
为什么数组下标从0开始而不是从1开始
1楼 匿名用户 数组是一段连续的空间,要求a i 就是求它 的地址,然后找到它。如果从0开始,则a i 的地址 首地址 i 每个数据所占的长度 如果从1开始 则a i 的地址 首地址 i 1 每个数据所占的长度。 是不是前一种更好计算呢。 数组下标都是从1开始的,为什么说成是从0开始的呢? 2楼 仁...