A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© A侠 中级黑马   /  2015-10-2 00:42  /  800 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#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;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马