指针数组做main函数的形参

简介: 指针数组做main函数的形参



1. 指针数组

1.1 基本概念

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

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

指针数组的声明形式为:

data_type *array_name[size];
//示例:
int *p[10];//该指针数组包含10个整型地址

1.2 简单示例

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

#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
*/

2. 指针数组做main形参

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

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

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

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

说明:

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

2.2 简单示例

下面例子中,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
*/

目录
相关文章
|
3月前
|
存储 程序员 编译器
C 语言数组与指针的深度剖析与应用
在C语言中,数组与指针是核心概念,二者既独立又紧密相连。数组是在连续内存中存储相同类型数据的结构,而指针则存储内存地址,二者结合可在数据处理、函数传参等方面发挥巨大作用。掌握它们的特性和关系,对于优化程序性能、灵活处理数据结构至关重要。
|
3月前
|
存储 C语言 计算机视觉
在C语言中指针数组和数组指针在动态内存分配中的应用
在C语言中,指针数组和数组指针均可用于动态内存分配。指针数组是数组的每个元素都是指针,可用于指向多个动态分配的内存块;数组指针则指向一个数组,可动态分配和管理大型数据结构。两者结合使用,灵活高效地管理内存。
|
3月前
|
容器
在使用指针数组进行动态内存分配时,如何避免内存泄漏
在使用指针数组进行动态内存分配时,避免内存泄漏的关键在于确保每个分配的内存块都能被正确释放。具体做法包括:1. 分配后立即检查是否成功;2. 使用完成后及时释放内存;3. 避免重复释放同一内存地址;4. 尽量使用智能指针或容器类管理内存。
|
3月前
|
存储 NoSQL 编译器
C 语言中指针数组与数组指针的辨析与应用
在C语言中,指针数组和数组指针是两个容易混淆但用途不同的概念。指针数组是一个数组,其元素是指针类型;而数组指针是指向数组的指针。两者在声明、使用及内存布局上各有特点,正确理解它们有助于更高效地编程。
|
3月前
|
存储 C语言
C语言如何使用结构体和指针来操作动态分配的内存
在C语言中,通过定义结构体并使用指向该结构体的指针,可以对动态分配的内存进行操作。首先利用 `malloc` 或 `calloc` 分配内存,然后通过指针访问和修改结构体成员,最后用 `free` 释放内存,实现资源的有效管理。
276 13
|
8月前
|
C语言
指针进阶(C语言终)
指针进阶(C语言终)
|
4月前
|
C语言
无头链表二级指针方式实现(C语言描述)
本文介绍了如何在C语言中使用二级指针实现无头链表,并提供了创建节点、插入、删除、查找、销毁链表等操作的函数实现,以及一个示例程序来演示这些操作。
56 0
|
5月前
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
204 4
|
6月前
|
C语言
【C初阶——指针5】鹏哥C语言系列文章,基本语法知识全面讲解——指针(5)
【C初阶——指针5】鹏哥C语言系列文章,基本语法知识全面讲解——指针(5)
|
6月前
|
C语言
【C初阶——指针4】鹏哥C语言系列文章,基本语法知识全面讲解——指针(4)
【C初阶——指针4】鹏哥C语言系列文章,基本语法知识全面讲解——指针(4)

热门文章

最新文章