C关键字typedef及argc,argv,env参数含义
C关键字typedef--为C中各种数据类型定义别名.
在此插一点C知识
int main(int argc,const char *argv[],const char *envp[])主函数的红色部分参数含义
int argc--参数数目[argument count],
int argv--参数值[argument value],
const char *envp--传递系统环境变量.
在有些编译器中允许main()的返回类型申明为void,随编译器不会报错,但以不是c++语法,
linux/unix下的标准参数语法
int main(int argc,char *argv[],char **env[]){
}
argc:整数,用来统计你运行程序时送给main函数的命令行参数个数
打印程序运行时传递给程序的参数个数argc,
*argv[]:字符串数组,用来存放指向你的字符串参数的指针数组,每一个元素指向一个参数;
argv[0]指向程序运行的全路径名
argv[1]执行程序后的第一个字符串,argv[2]依次;
【注】argv[argc] = NULL;
**env:字符串数组,env[]的每一个元素都包含envvar=value形式的字符串
其中envvar味环境变量,value为envvar的对应值;
argc,argv,env是在main()函数之前被赋值的,编译器生成可执行文件,main()不是真正的入口点,而是一个标准的函数,这个函数名与具体的操作系统有关;
#include <stdio.h>
int main(int argc,char *argv[],char **env[]){
printf("%d\n",argc) //打印程序运行时共传递的参数个数;
while(argc)
printf("%s\n",argv[--argc]);
retuen 0;
}
到此返回文档主体C关键字 typedef定义数据类型 的别名
可以在以定义的别名基础上新定义别名,但请注意typedef定义的别名仅仅可以在当前C源程序中起作用,同时原数据类型是还可以使用的.
一般的typedef给一般数据类型或是像结构体等自定义数据类型定义别名的目的是为了使源程序代码简洁[eumn,point struct];
C关键字typedef及argc,argv,env参数含义的更多相关文章
- execve(file, argv, env)参数argv获取字符串个数
/* Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU ...
- c/c++中int main(int argc,char *argv[])的具体含义
int main(int argc,char * argv[ ]) argv为指针的指针 argc为整数 char **argv or: char *argv[ ] or: char argv[ ][ ...
- c语言argc argv
转载自 http://blog.csdn.net/yukiooy/article/details/4682989 main(int argc,char *argv[ ]) argv为指针的指针 arg ...
- int main(int argc,char *argv[])的具体含义
int main(int argc,char * argv[]) argv为指针的指针 argc为整数 char **argv or: char *argv[] or: char argv[][] m ...
- 命令行参数(argc, argv)
每个C语言程序都必须有一个称为main()的函数,作为程序启动的起点.当执行程序时,命令行参数(command-line argument)(由shell逐一解析)通过两个入参提供给main()函数. ...
- Main函数中的参数argc,argv的使用简单解析
本篇文章是对Main函数中的参数argc,argv的使用进行了简单的分析介绍,需要的朋友参考下: C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int a ...
- main()中的参数argc, argv
转自:http://blog.csdn.net/eastmount/article/details/20413773 一.main()函数参数 通常我们在写主函数时都是void main()或int ...
- (转)[C++语法] 关键字typedef用法
转自http://www.cnblogs.com/SweetDream/archive/2006/05/10/395921.html C/C++语言中的typedef相信大家已经不陌生,本文对C/C+ ...
- file access , argc, argv[ ]
_____main函数含有 两个参数 ,argc ,argv[] 这两个参数用以指示命令行输入的参数信息. argc 的值是输入的参数的数量.argv是一个数组,每个数组元素指向一个string字符串 ...
随机推荐
- BZOJ3052: [wc2013]糖果公园【树上带修莫队】
Description Input Output Sample Input Sample Input Sample Output 84 131 27 84 HINT 思路 非常模板的树上带修莫队 真的 ...
- Fzu软工第二次作业-词频分析
(0)前言: Github项目 作业地址 (1)PSP表格: PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 ...
- 关于 Javascript 严格模式下多文件合并时注意
Javascript 在第一行使用 "use strict" 声明严格模式. 但是在多个 js 文件合并时就需要注意了,可能你的是严格模式,但别的文件不是,就会造成错误. 为什么使 ...
- <script>标签里的defer和async属性 区别(待补充)
defer与async的区别(表格显示): table th:first-of-type { width: 150px; } table th:nth-of-type(2) { } 区别 defer ...
- 阻塞队列 BlockingQueue
在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利.本文 ...
- C#获取本机IP地址(ipv4)
获取本机所有IP地址: 这些地址是包含所有网卡(虚拟网卡)的ipv4和ipv6地址. string name = Dns.GetHostName(); IPAddress[] ipadrlist = ...
- Exchange 2003服务器中如何在公司资料夹中设置共享行事历
Exchange 2003服务器中如何在公司资料夹中设置共享行事历 编写人:左丘文 2018-2-23 春节假期归来,开工第一天,感觉还没有从假期中恢复及调整过来.突然想到了我已经荒废了近一年的园子, ...
- 解决EF一对一或多对一的删除
people 类中有 zhengshu类 且是一对一,现在要删除people类中的zhengshu 网上看了N多办法,什么更新外键什么滴. 其实方法简单极了 using (KJExamEntity c ...
- BASIC-4_蓝桥杯_数列特征
示例代码: #include <stdio.h>#include <stdlib.h> int main(void){ int n = 0 ; int i = 0 , max ...
- 【Spring学习笔记-MVC-14】Spring MVC对静态资源的访问
作者:ssslinppp 参考链接: http://www.cnblogs.com/luxh/archive/2013/03/14/2959207.html http://www.cnb ...