目录
2.1?int main(int argc, char *argv[]);
指针数组是指一个数组,其中的每个元素都是指针。
这意味着数组中的每个元素都存储一个地址,该地址指向内存中的某个位置。
指针数组的声明形式为:
data_type *array_name[size]; //示例: int *p[10];//该指针数组包含10个整型地址
以下是一个简单的示例,演示了如何声明和使用指针数组:
#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: %d\n", i, *intArray[i]);
}
return 0;
}
/*输出结果:
Value at index 0: 10
Value at index 1: 20
Value at index 2: 30
*/
指针数组的一个重要应用是做main函数的形参。
1. main
函数的原型通常定义为int main(int argc, char *argv[]);
说明:
- 其中,
argc
表示命令行参数的数量,argv
是一个指针数组,每个元素都是一个指向以 null 结尾的字符串的指针。- 如果main函数带参数的话,则第一个参数必须是int型,第二个参数必须是字符指针数组 char *xx[],参数只能由操作系统给出。
下面例子中,
argc
表示命令行参数的数量,而argv
是一个指针数组,其中每个元素都是一个指向字符串的指针。程序通过循环遍历argv
数组,输出每个命令行参数的内容。
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("Number of command line arguments: %d\n", argc);
// 遍历指针数组,输出每个命令行参数
for (int i = 0; i < argc; i++) {
printf("Argument %d: %s\n", i, argv[i]);
}
return 0;
}
/*输出
Number of command line arguments: 1
Argument 0: D:\Program Files\code\CC++程序集合\c\【谭浩强】C语言自学\output\mytest.exe
*/