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

指针数组的长度

  •  3
  • pistacchio  · 技术社区  · 16 年前

    如果我有一个像char**行这样的指针数组,如何确定它的长度? 谢谢

    5 回复  |  直到 12 年前
        1
  •  7
  •   sth    16 年前

    你不能。你必须手动跟踪数组的长度。

        2
  •  4
  •   Jonathan Leffler    16 年前

    你不能可靠。

    有时,有一个空指针标记结束-这是一个惯例,有时使用。更常见的是,你需要被告知长度。

    但是没有一种简单的方法可以确定长度。不知怎么的,你必须知道(或被告知)长度。

        3
  •  1
  •   anon    16 年前

    这不是指针数组,而是指向指针的指针。

        4
  •  1
  •   Sanjaya R    16 年前

    这取决于数据。如果没有关联的计数,则可能是以空结尾的列表。

    char** lines = mysteryfunction();
    for ( ;*lines;lines++ ) { 
        printf( "%s\n", *list ); 
    }
    
        5
  •  -1
  •   Cholavendhan    12 年前

    获取指向数组的指针的长度

    char *array[]={"welcome","to","India"};
    
    length=sizeof(array)/sizeof(array[0]);
    

    输出:

    我们可以用除法算出长度 (指针到数组的大小按单个大小)

    因为没有用于获取数组长度的预定义函数。