C语言入门:指针数组与二维数组的区别及命令行变元

需积分: 41 61 下载量 76 浏览量 更新于2024-08-08 收藏 2.4MB PDF 举报
"C语言编程基础,包括指针与多维数组、命令行变元的使用" 在C语言中,指针和多维数组是两种不同的数据结构,它们在表示和处理数据时有各自的特点。多维数组,尤其是二维数组,常常被用来模拟矩阵或表格,它们在内存中连续分配空间,可以通过行列索引方便地访问元素。例如,`int a[10][20]`定义了一个10行20列的整数数组,访问元素`a[3][4]`实际上计算的是`(20*3) + 4`的偏移量。然而,指针数组则更为灵活,每个元素是一个指向数组的指针,可以指向不同长度的数组。例如,`int *b[10]`仅分配了10个指针,每个指针可以独立地指向不同长度的整数数组。这在处理不同长度的字符串时特别有用,就像在函数`month_name`中那样。 在C语言中,命令行变元(或参数)是程序启动时可以通过命令行传递给程序的值。主函数`main()`可以接受两个参数:`argc`(arg count,变元计数)和`argv`(arg vector,变元向量)。`argc`是一个整数,表示命令行中包含的变元数量,而`argv`是一个字符串数组,其中每个字符串对应一个变元。例如,如果在命令行中输入`my_program arg1 arg2`,那么`argc`将是3(包括程序名本身),`argv`将包含`{"my_program", "arg1", "arg2"}`。处理这些字符串通常需要二级指针。 本章简要介绍了C语言的基础知识,包括变量、常量、算术运算、控制流、函数和基本输入输出。虽然没有深入讨论指针、结构和其他高级特性,但强调了编写简单实用程序的基本概念。对于初学者,建议通过编写小程序来实践和理解这些概念。比如,经典的"Hello, World!"程序就是一个很好的起点,它展示了如何包含头文件、定义主函数`main()`以及使用`printf()`进行输出。在不同操作系统上,编译和运行C程序的步骤可能略有差异,需要根据实际情况调整。