本文共 1317 字,大约阅读时间需要 4 分钟。
int iArray[]= {1,2,3,4,5};
// printf("&iArray地址:%#x\n",&iArray);
// printf("iArray地址:%#x\n",iArray);
//printf("iArray+1地址:%#x\n",iArray+1);
/ //得到对应的值
printf("iArray[0]:%d\n",*iArray + 0);
printf("iArray[1]:%d\n",*iArray + 1);
printf("iArray[2]:%d\n",*iArray + 2);
printf("iArray[3]:%d\n",*iArray + 3);
printf("iArray[4]:%d\n",*iArray + 4);
printf("iArray[0]:%d\n",*(iArray + 0));
printf("iArray[1]:%d\n",*(iArray + 1));
printf("iArray[2]:%d\n",*(iArray + 2));
printf("iArray[3]:%d\n",*(iArray + 3));
printf("iArray[4]:%d\n",*(iArray + 4));
运行结果如下:
数组在移动时,会根据类型移动指定的字节;
例如:int类型的数组,在+1时,会跳过4个字节;
char类型的数组,在+1是,会跳过1个字节;
根据上面思想内容,改造用“户输入数组.c如下”:
#include<stdio.h>
#include<stdlib.h>
/*
用户输入数组
//输入函数
scanf("占位符",地址);
*/
main()
{
//1.让用户输入数组的长度;
printf("请输入数组的长度:");
int length ;
scanf("%d",&length);
printf("数组的长度为:%d\n",length);
//2.更加用户输入的长度,创建数组
int iArray[length];
//3.让用户把数组元素依次输入
int i;
for(i =0;i<length;i++){
printf("请输入第%d元素的值:\n",i);
//scanf("%d",&iArray[i]);
scanf("%d",iArray+i);
}
//4.把数组中的内容输出来
for(i=0;i<length;i++){
//printf("输入第[%d]元素的值:%d\n",i,iArray[i]);
printf("输入第[%d]元素的值:%d\n",i,*(iArray+i));
}
system("pause");
}
数组名
int a[5]; // a是数组名,5是数组的大小,元素个数
数组名称是个指针常量,它存放的是数组中第一个元素的地址
int a[5];
&a[0] 等价于 &a
下标和指针的关系
int a[5];
a[i] 等价于 *(a + i) // 这里i的范围是0~4(数组长度 -1)
本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源。