数组可以不声明直接初始化吗

来源:6-1 数组初体验

Steve_64

2018-07-26 22:05

如题,我看联系都没要求声明

写回答 关注

5回答

  • 慕标9562271
    2019-07-01 18:54:22

    不可以

  • 程序鸭
    2018-08-18 17:24:33

    其实就像是

    int x;

    x = 1;

    int x =  1;

    声明和赋值一起,这里是声明和初始化一起,区别?

  • 慕九州5552665
    2018-07-29 13:34:13

    百度一下你就知道。

  • Steve_64
    2018-07-27 13:48:59

    那为什么像这样写:

    #include <stdio.h>

    int main()

    {

        //第一种形式

        int arrFirst[3] = {1,2,3};

        //第二种形式

        int arrSecond[] = {2,3,4};

        //第三种形式

        int arrThird[3];

    arrThird[0]=3;

    arrThird[1]=4;

    arrThird[2]=5;

        //输出第一个数组中的第二个元素

        printf("%d\n", arrFirst[1]);

        //输出第二个数组中的第二个元素

        printf("%d\n", arrSecond[1]);

        //输出第三个数组中的第二个元素

        printf("%d\n", arrThird[1]);

        return 0;

    }

    并没有声明,为什么可以?

  • 慕九州5552665
    2018-07-27 12:56:37

    不可以。 但作为一个函数参数时,则可以: void foo(int bar[]) {} 此时的bar,编译器并不会把它当成数组,而会把它当成指针。

    Steve_...

    那为什么像这样写: #include <stdio.h> int main() { int arrFirst[3] = {1,2,3}; int arrSecond[] = {2,3,4}; int arrThird[3]; arrThird[0]=3; arrThird[1]=4; arrThird[2]=5; printf("%d\n", arrFirst[1]); printf("%d\n", arrSecond[1]); printf("%d\n", arrThird[1]); return 0; } 并没有声明,为什么可以?

    2018-07-27 13:49:59

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926028 学习 · 20793 问题

查看课程

相似问题