龙空技术网

Unix C学习小计

杨彬37178244 166

前言:

眼前大家对“c计算数组元素个数”大致比较着重,朋友们都需要知道一些“c计算数组元素个数”的相关文章。那么小编也在网上收集了一些关于“c计算数组元素个数””的相关文章,希望咱们能喜欢,咱们快快来学习一下吧!

C 语言有两种可能的运行环境中,它们之间有一定差别:

(1) 独立环境(freestanding)

在独立环境中,C 程序的运行没有操作系统的支持,因此,只具有最小部分的标准库能力。

(2) 宿主环境(hosted)

在宿主环境中,C 程序会在操作系统的控制和支持下运行。可得到完整的标准库能力。

在宿主环境中编译的 C 程序必须定义一个名为 main 的函数,这是程序开始时调用的第一个函数。main()函数的定义有以下两种形式:

(1) 函数没有参数,返回值为 int 类型。

int main( void ) { /* … */ }

(2) 函数有两个参数,类型分别是 int 和 char**,返回值是 int 类型。

int main( int argc, char *argv[ ] ) { /* … */ }

这两种定义方式都符合 C 语言标准。除此之外,许多 C 的实现版本还支持第三种、非标准语法的定义方式:

int main( int argc, char *argv[ ], char *envp[ ] ) { /* … */ }

(1) argc(全称为 argument count)的值为 0 或者为命令行中启动该程序的字符串的数量。程序本身的名称也算作该字符串,也要计算进去。

(2) argv(全称为 arguments vector)是一个 char 指针数组,每个指针都独立的指向命令行中每个字符串:

  数组中元素的个数,比 argc 的值多 1;最后一个元素 argv[argc] 是空指针。

  如果 argc 大于 0,那么第一个字符串,argv[0],就是程序本身的名称。如果运行环境不支持程序名称,那么 argv[0] 为空。

  如果 argc 大于 1,从字符串 argv[1] 到 argv[argc-1] 包含该程序命令行参数。

(3) envp(全称为 environment pointer)在非标准的、有 3 个参数的 main()函数版本中,是一个指针数组,每个指针都指向组成程序环境的一个字符串。通常,这个字符串的格式是“名称=值”。在标准 C 语言中,可以利用函数 getenv()获取得这些环境变量。

int main( int argc, char *argv[ ] )

{

if ( argc == 0 )

puts( "No command line available." );

else

{ // 输出程序的名称

printf( "The program now running: %s\n", argv[0] );

if ( argc == 1 )

puts( "No arguments received on the command line." );

else

{

puts( "The command-line arguments:" );

for ( int i = 1; i < argc; ++i ) // 将每个参数输出到不同行

puts( argv[i] );

}

}

}

// 做驱动

C语言结构体(Struct)从本质上讲是一种自定义的数据类型,只不过这种数据类型比较复杂,是由 int、char、float 等基本类型组成的。你可以认为结构体是一种聚合类型。

标签: #c计算数组元素个数 #c语言的运行环境是什么