zoukankan      html  css  js  c++  java
  • 指针数组的三种自我结束能力

    在一个函数中传进一个二位数组,打印的第一种方式是求出字符串个数,然后再遍历打印。

    #include<stdio.h>
    
    int main()
    {
        char* c_keyword[] = {
            "while",
            "case",
            "static",
            "do"
        };
        
        int cnt = sizeof(c_keyword)/sizeof(c_keyword[0]);
        printf("%d
    ",cnt);
        for(int i = 0; i < cnt; i++ )
        {
            printf("c_keyword[%d] = %s
    ",i,c_keyword[i]);
        }
        return 0;
    }

    除此之外,还可以在传入的二维数组的最后放入一个结束标志,如一位数组的最后’’一样,来表示二位数组的结束标识。

    #include<stdio.h>
    
    int main()
    {
        char* c_keyword[] = {
            "while",
            "case",
            "static",
            "do"
            ""
        };
        
        for(int i = 0; c_keyword[i] != NULL; i++ )
        {
            printf("c_keyword[%d] = %s
    ",i,c_keyword[i]);
        }
        return 0;
    }

    除了最后放””以外,0和NULL也是可以的。

    实际上,就是转义的0,两者是等价的。

    而且在stdio.h里,NULL的宏定义就是0。

  • 相关阅读:
    ORM框架
    优酷项目1
    新年第一天
    前端第十天
    前端第九天
    前端第八天
    前端第七天
    前端第六天
    前端第五天
    月亮与六便士
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/11748787.html
Copyright © 2011-2022 走看看