代码之家  ›  专栏  ›  技术社区  ›  Midas

字符数组声明问题

  •  0
  • Midas  · 技术社区  · 14 年前

    我为什么要这么做

    char identifier[4] = {'A', 'B', 'C', 'D'};
    

    而不是

    char identifier[4];
    &identifier = {'A', 'B', 'C', 'D'}; // syntax error : '{'
    

    ?

    我为什么要这么做

    char identifier[4] = "ABCD"; // ABCD\0, aren't that 5 characters??
    

    而不是

    char identifier[4];
    &identifier = "ABCD"; // 'char (*)[4]' differs in levels of indirection from 'char [5]'
    

    ?

    这是个笑话吗??

    3 回复  |  直到 14 年前
        1
  •  2
  •   Clifford    14 年前

    char identifier[4];
    memcpy(identifier, "ABCD", sizeof(identifier) ) ;
    

    identifier & char** char*

        2
  •  3
  •   Arkku    14 年前

    char identifier[4] = "ABCD" char identifier[] = "ABCD" '\0'

        3
  •  2
  •   Oliver Charlesworth    14 年前

    &x = ...