问答详情
源自:6-1 数组初体验

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

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

提问者:Steve_64 2018-07-26 22:05

个回答

  • 慕标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,编译器并不会把它当成数组,而会把它当成指针。