C语言main方法的参数打印

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了C语言main方法的参数打印脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

c语言指针数组、字符串

有写错的地方,请帮忙纠错,感谢~

  1. main方法的第二个参数是指针数组,存储的都是指针,所以每个元素的地址都是char **类型

  2. 字符串打印的时候,会自动截止到0字符

  3. 数组的名字是指针,代表第一个元素的地址

指针数组&&数组指针

指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。
数组指针:首先它是一个指针,它指向一个数组。在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道。它是“指向数组的指针”的简称。

main函数的参数

参数char *argv[]是一个指针数组,存储的是每个传递过来的参数的地址。
argv 是数组名称,代表第一个元素[0]的地址,也是一个指针,类型是char **。那么*argv就代表第一个元素的值,类型是char *是一个指针,这个指针指向的是第一个参数的首地址。而第一个参数肯定是字符串,所以进行获取的时候,PRintf通过该字符串的首地址,就可以打印出整个字符串命令。


    #include <stdio.h>
    
    int main(int argc, char *argv[]) {
        printf("%d%sn", argc,*(argv+1));
    }

循环遍历打印所有接收到的参数


    #include <stdio.h>
    
    int main(int argc, char *argv[]) {
        for(int index = 0; index < argc; index++) {
            /* argv本身代表`char *argv[]`的第一个元素的地址,地址进行递增可以遍历数组,然后通过`*`来获取改地址对应的元素内容(这里元素的内容也是个地址)*/
            printf("%sn", *(argv+index));
        }
    }

字符串

有关于字符串根据首地址输出打印整个字符串以及特殊0字符


    #include <stdio.h>
    /* 字符串操作 */
    #include <string.h>
    
    int main(int argc, char *argv[]) {
        char str[] = "hello world";
        /* str 在这里是一个指针,是字符串数组的第一个元素的地址 */
        printf("%dn", &str[0] == str);
        /* 那么为什么printf打印一个地址的时候,会将整个字符串打印出来呢?*/
        /* 因为在存储字符串的时候,会将自动在字符串的最后添加一个,printf打印到截止 */
        printf("%sn", str);
        /* 如果这样定义字符串数组,需要后面添加 */
        /* 只有字符串数组可以一直寻址到 */
        char arr[] = {'a','b','c',''};
        printf("%cn", arr[0]);
        printf("%sn", arr);
        /* 字符串数组的长度,不包含 */
        printf("%lun", strlen(arr));
    }

脚本宝典总结

以上是脚本宝典为你收集整理的C语言main方法的参数打印全部内容,希望文章能够帮你解决C语言main方法的参数打印所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。