- #include <stdio.h>
- int main()
- {
- int f=1,g=2,h=3;
- //第一种初始化赋值且下标必须是自然数
- int a[3]={1,2,3};
- printf("%d\t%d\t%d\n",a[0],a[1],a[2]);
- printf("数组a第一个元素的地址为:%p等于数组的地址为:%p",&a[0],a);
- //上面也可以改写成为:
- printf("数组a第一个元素的地址为:%p等于数组的地址为:%p",&a[0],&a);
- //&a和a是相等的,对于数组名虽然地址常量,但由于数组的特殊性,可以对数组名&运算,其结果还是数组的首地址,设计程序时建议不要这样使用
- //第二种初始化赋值,数组元素个数可以<=数组下标
- int b[4]={1,2,3};
- printf("%d\t%d\t%d\t%d\n",b[0],b[1],b[2],b[3]);
- //第三种初始化赋值,可以省略数组长度
- int c[]={1,2,3};
- printf("%d\t%d\t%d\n",c[0],c[1],c[2]);
- //第四种初始化并单独赋值
- int d[3];
- d[0]=1;
- d[1]=2;
- d[2]=3;
- printf("%d\t%d\t%d\n",d[0],d[1],d[2]);
- //变量作为下标并正确初始化赋值的形式
- int e[h];
- e[0]=1;
- e[1]=2;
- e[2]=3;
- printf("%d\t%d\t%d\n",e[0],e[1],e[2]);
- return 0;
- }
复制代码
|
|