指针数组做main函数的形参

2024-02-20 13:57:29 浏览数 (1)

1. 指针数组

1.1 基本概念

指针数组是指一个数组,其中的每个元素都是指针。

这意味着数组中的每个元素都存储一个地址,该地址指向内存中的某个位置。

指针数组的声明形式为:

代码语言:javascript复制
data_type *array_name[size];

//示例:
int *p[10];//该指针数组包含10个整型地址
1.2 简单示例

以下是一个简单的示例,演示了如何声明和使用指针数组:

代码语言:javascript复制
#include <stdio.h>

int main() {
    // 声明一个整型数组
    int num1 = 10, num2 = 20, num3 = 30;
    int *intArray[3]; // 声明一个包含3个整型指针的数组

    // 将指针指向整型变量
    intArray[0] = &num1;
    intArray[1] = &num2;
    intArray[2] = &num3;

    // 访问指针数组中的元素并输出值
    for (int i = 0; i < 3; i  ) {
        printf("Value at index %d: %dn", i, *intArray[i]);
    }

    return 0;
}
/*输出结果:
Value at index 0: 10
Value at index 1: 20
Value at index 2: 30
*/

2. 指针数组做main形参

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

指针数组的一个重要应用是做main函数的形参。

1. main函数的原型通常定义为

代码语言:javascript复制
int main(int argc, char *argv[]);

说明:

  1. 其中,argc 表示命令行参数的数量,argv 是一个指针数组,每个元素都是一个指向以 null 结尾的字符串的指针。
  2. 如果main函数带参数的话,则第一个参数必须是int型,第二个参数必须是字符指针数组 char *xx[],参数只能由操作系统给出。
2.2 简单示例

下面例子中,argc 表示命令行参数的数量,而 argv 是一个指针数组,其中每个元素都是一个指向字符串的指针。程序通过循环遍历 argv 数组,输出每个命令行参数的内容。

代码语言:javascript复制
#include <stdio.h>

int main(int argc, char *argv[]) {
    printf("Number of command line arguments: %dn", argc);

    // 遍历指针数组,输出每个命令行参数
    for (int i = 0; i < argc; i  ) {
        printf("Argument %d: %sn", i, argv[i]);
    }

    return 0;
}
/*输出
Number of command line arguments: 1
Argument 0: D:Program FilescodeCC  程序集合c【谭浩强】C语言自学outputmytest.exe
*/

0 人点赞