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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 736010695 中级黑马   /  2014-11-9 22:54  /  642 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include <stdio.h>
int main()
{
    //常规初始化方法:int ages[5] = {10, 20, 23, 0, 32}
    //int ages[5] = {20, 22}  虽然前面定义的是5,后面可以不用一定写5个元素
    //int ages[5] = {[3] = 10, [4] = 5}  这样是指定第三、四个元素的值是10、5,前三个元素的值都是0
    //int ages[] = {10, 12, 3}  后面定义了元素个数,前面不定义也是可以的
    //int ages['A'] = {10, 20, 16} 这样写是可以的,因为‘A'可以理解为65

    //错误写法:
    //1、int [ ];  没写元素个数,编译器会报错(不知道该分配多少字节来储存)
    //2、int = {10, 12, 23, 43}  错误写法,职能在定义数组的同时进行初始化
    /*
     3、 int = count;
         count = 5;
         int ages[count] = {10, 11, 12};
     如果想要在定义数组的同时进行初始化,元素个数必须是常量或者不写,所以上面写法错误
     */
    /*
     4、 int = count;
     count = 5;
     int ages[count];
     ages[0] = 10;
     ages[1] = 11;
     ages[2] = 12;
     这种写法编译器不会报错,输出结果前三位就是10、11、12但是后两位是不确定对值
     */
    int ages[] = {10, 11, 12, 13, 14};
    int count = sizeof(ages) / sizeof(int);
    for (int i = 0; i < count; i++)
    {
        printf("ages[%d]=%d\n", i, ages);
    }

    return 0;
}

评分

参与人数 1技术分 +1 收起 理由
星河鹭起 + 1

查看全部评分

0 个回复

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