前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【C 语言】数组 ( 数组指针 | 数组指针定义 | 使用 数组类型* 定义数组指针 )

【C 语言】数组 ( 数组指针 | 数组指针定义 | 使用 数组类型* 定义数组指针 )

作者头像
韩曙亮
发布于 2023-03-29 13:39:30
发布于 2023-03-29 13:39:30
3.5K00
代码可运行
举报
运行总次数:0
代码可运行

文章目录

总结

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    typedef int(ArrayType)[3];
    ArrayType *p = NULL;

一、使用 数组类型* 定义数组指针


数组类型指针 就是 定义一个指针 , 指向数组首地址 ;

使用 数组类型* 定义数组指针 ,

首先 , 定义数组类型 别名 ,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    typedef int(ArrayType)[3];

然后 , 使用别名类型 , 声明数组变量 ,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    ArrayType array2 = {0};

最后 , 声明一个指针 , 将 array2 变量地址赋值给该指针 , 指针指向的数据类型为 int[3] 数组类型的变量 array2 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    ArrayType *p = NULL;
    p = &array2;

验证上述 定义的数组指针 :

为 数组元素 赋值 ,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    // 为数组赋值
    int i = 0;
    for(i = 0; i < 3; i++)
    {
        array2[i] = i + 1;
    }

使用 数组指针 , 打印数组元素内容 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    // 使用 数组指针 访问数组中的值
    for(i = 0; i < 3; i++)
    {
        printf("%d\n", (*p)[i]);
    }

二、完整代码示例


代码示例 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    // 指针数组 , 数组元素是指针
    char *array = {"12", "ab", "34"};

    // 数组指针 , 使用指针变量指向数组

    // 使用 数组别名 定义数组指针

    // 首先 , 定义数组类型 别名
    typedef int(ArrayType)[3];

    // 然后 , 使用别名类型 , 声明数组变量
    ArrayType array2 = {0};

    // 最后 , 声明一个指针 , 将 array2 变量地址赋值给该指针
    // 指针指向的数据类型为 int[3] 数组类型的变量 array2
    ArrayType *p = NULL;
    p = &array2;


    // 为数组赋值
    int i = 0;
    for(i = 0; i < 3; i++)
    {
        array2[i] = i + 1;
    }

    // 使用 数组指针 访问数组中的值
    for(i = 0; i < 3; i++)
    {
        printf("%d\n", (*p)[i]);
    }


    // 命令行不要退出
    system("pause");
    return 0;
}

执行结果 :

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【C 语言】数组 ( 数组指针 | 数组指针定义 | 使用 数组指针类型 定义数组指针 )
最后 , 声明一个 数组指针类型 变量 , 将 array2 变量地址赋值给该 数组指针类型 变量 , 指针指向的数据类型为 int[3] 数组类型的变量 array2 ;
韩曙亮
2023/03/29
3.1K0
【C 语言】数组 ( 数组指针 | 数组指针定义 | 使用 数组指针类型 定义数组指针 )
【C 语言】数组 ( 数组类型表达 | 定义数组类型 )
int array[10] 的数据类型是 int [10] , 其中 int 是元素类型 , [10] 是元素个数 ;
韩曙亮
2023/03/29
1.8K0
【C 语言】数组 ( 数组类型表达 | 定义数组类型 )
【C++】函数指针 ② ( 数组类型基本语法 | 数组语法 | 数组首元素地址 和 数组地址 | 定义数组类型 | 定义指针数组类型语法 | 直接定义指针数组类型变量语法 )
数组示例 : 数组元素类型是 int , 数组名称是 array , 数组元素个数为 5 ;
韩曙亮
2023/11/13
1840
【C++】函数指针 ② ( 数组类型基本语法 | 数组语法 | 数组首元素地址 和 数组地址 | 定义数组类型 | 定义指针数组类型语法 | 直接定义指针数组类型变量语法 )
【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)
数组名称不作为常量指针的场合 : 数组名类似于常量, 但不是常量, 下面两种场合数组名与常量指针不同 ;
韩曙亮
2023/03/27
3.8K0
【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)
【重拾C语言】七、指针(二)指针与数组(用指针标识数组、多维数组与指针、数组指针与指针数组)
如果一个指针p指向数组a的首地址(即指向a[0]),则p与a表示的是同一个对象。
Qomolangma
2024/07/30
2030
【重拾C语言】七、指针(二)指针与数组(用指针标识数组、多维数组与指针、数组指针与指针数组)
熬夜整理的万字C/C++总结(三),值得收藏
可以使用 C 对变量中的个别位进行操作。您可能对人们想这样做的原因感到奇怪。这种能力有时确实是必须的,或者至少是有用的。C 提供位的逻辑运算符和移位运算符。在以下例子中,我们将使用二进制计数法写出值,以便您可以了解对位发生的操作。在一个实际程序中,您可以使用一般的形式的整数变量或常量。例如不适用 00011001 的形式,而写为 25 或者 031 或者 0x19.在我们的例子中,我们将使用8位数字,从左到右,每位的编号是 7 到 0。
C语言与CPP编程
2021/08/03
6660
【C语言】(指针系列3)数组指针+函数指针+typedef+函数数组指针+转移表
答案是:指针数组是一个数组是数组,储存的是地址(首元素),数组指针是数组还是指针哪?答案是--------指针变量
用户11367452
2024/11/21
1090
【C语言】(指针系列3)数组指针+函数指针+typedef+函数数组指针+转移表
【C 语言】二级指针作为输入 ( 指针数组 | 复杂指针解读 )
定义一个数组指针 : 数组中的 元素 是 指向 字符串的指针 , 即 每个数组元素 只有 4 字节 ;
韩曙亮
2023/03/29
4670
【C 语言】二级指针作为输入 ( 指针数组 | 复杂指针解读 )
【C 语言】数组 ( 多维数组本质 | n 维数组名称本质 是 n-1 级数组指针 )
打印二维数组 , 打印 array 和 array + 1 的值 , array 是数组首元素地址 ;
韩曙亮
2023/03/29
7980
【C 语言】数组 ( 多维数组本质 | n 维数组名称本质 是 n-1 级数组指针 )
c语言指针与数组的深入理解
引言:本篇再一次写到指针,学过c语言的都知道,指针是初学c语言时候遇到的一个比较难搞的知识点。你尽管可以想的简单,但是其实如果去用的话,没有一个更加深入的理解,那么后续的学习到数据结构就会艰难无比。
兰舟千帆
2022/07/16
5370
c语言指针与数组的深入理解
【C 语言】结构体 ( 结构体中嵌套一级指针 | 分配内存时先 为结构体分配内存 然后再为指针分配内存 | 释放内存时先释放 指针成员内存 然后再释放结构头内存 )
声明 结构体类型 : 这里注意 , 在结构体中 , 定义一个 一级指针 变量 , 注意与 数组类型区别 ;
韩曙亮
2023/03/30
2.6K0
【C 语言】结构体 ( 结构体中嵌套一级指针 | 分配内存时先 为结构体分配内存 然后再为指针分配内存 | 释放内存时先释放 指针成员内存 然后再释放结构头内存 )
【C语言进阶】指针数组 —— 数组指针
🎬 鸽芷咕:个人主页 🔥 个人专栏:《C语言进阶篇》《C语言初阶篇》
鸽芷咕
2023/12/25
1950
【C语言进阶】指针数组 —— 数组指针
指针数组和数组指针的区别详细介绍【C语言】【指针】
指针数组和数组指针是C语言中常用的数据结构,它们可以在处理内存动态分配、多维数组、函数指针等方面提供便利。虽然指针数组和数组指针的名字十分相似,但是它们是两个截然不同的概念,下面进行详细介绍:
see.
2024/06/04
2210
【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 栈内存创建 )
声明结构体类型 : 定义 结构体 数据类型 , 同时为该结构体类型声明 别名 , 可以直接使用 别名 结构体变量名 声明结构体类型变量 , 不需要在前面添加 struct 关键字 ;
韩曙亮
2023/03/29
1.9K0
【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 栈内存创建 )
c语言从入门到实战——数组指针与函数指针
数组指针和函数指针是C语言中的两种重要指针类型。数组指针指向一个数组,可以用来访问和修改数组中的元素;而函数指针则指向一个函数,可以用来调用该函数。两者在语法和用法上有所不同,需要仔细区分。正确理解和使用它们可以提高程序的效率和可维护性。
鲜于言悠
2024/03/20
1610
c语言从入门到实战——数组指针与函数指针
数组指针和指针数组
一、数组指针 初学C语言的朋友对数组指针这指针数组感到迷惑,分不清,包括我自己,其实是对概念的不清晰以及对数组和指针这两个概念理解的不够深入,下面谈谈我的理解。 数组指针,是一个指针而不是数组。 这个指针具有指向整个数组的能力,保存这个数组的其实地址。 定义数组指针变量
lexingsen
2022/02/24
8040
数组指针和指针数组
2.1 C/C++ 使用数组与指针
C/C++语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。C/C++语言具有很高的效率和控制能力,但也需要开发人员自行管理内存等底层资源,对于初学者来说可能会有一定的难度。
王瑞MVP
2023/10/10
3260
2.1 C/C++ 使用数组与指针
C语言数组指针和指针数组的区别及使用方法
数组指针是指向数组的指针变量。它可以指向数组的首地址,使我们可以通过指针来访问数组中的元素。以下是一个简单的例子:
GG Bond1
2024/06/14
3610
【C++】动态内存管理 ② ( new 运算符 为 基础数据类型 / 基础数据数组类型 分配堆内存 )
动态内存管理 在 C++ 语言中 , 就是通过 new 和 delete 运算符 进行对象的 创建 与 释放 ;
韩曙亮
2023/10/15
2730
【C++】动态内存管理 ② ( new 运算符 为 基础数据类型 / 基础数据数组类型 分配堆内存 )
【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 堆内存创建 )
在上一篇博客 【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 栈内存创建 ) 的基础上 , 将 栈内存 中的 结构体数组 , 更改为 堆内存 中创建结构体数组 ;
韩曙亮
2023/03/30
1.6K0
【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 堆内存创建 )
推荐阅读
【C 语言】数组 ( 数组指针 | 数组指针定义 | 使用 数组指针类型 定义数组指针 )
3.1K0
【C 语言】数组 ( 数组类型表达 | 定义数组类型 )
1.8K0
【C++】函数指针 ② ( 数组类型基本语法 | 数组语法 | 数组首元素地址 和 数组地址 | 定义数组类型 | 定义指针数组类型语法 | 直接定义指针数组类型变量语法 )
1840
【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)
3.8K0
【重拾C语言】七、指针(二)指针与数组(用指针标识数组、多维数组与指针、数组指针与指针数组)
2030
熬夜整理的万字C/C++总结(三),值得收藏
6660
【C语言】(指针系列3)数组指针+函数指针+typedef+函数数组指针+转移表
1090
【C 语言】二级指针作为输入 ( 指针数组 | 复杂指针解读 )
4670
【C 语言】数组 ( 多维数组本质 | n 维数组名称本质 是 n-1 级数组指针 )
7980
c语言指针与数组的深入理解
5370
【C 语言】结构体 ( 结构体中嵌套一级指针 | 分配内存时先 为结构体分配内存 然后再为指针分配内存 | 释放内存时先释放 指针成员内存 然后再释放结构头内存 )
2.6K0
【C语言进阶】指针数组 —— 数组指针
1950
指针数组和数组指针的区别详细介绍【C语言】【指针】
2210
【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 栈内存创建 )
1.9K0
c语言从入门到实战——数组指针与函数指针
1610
数组指针和指针数组
8040
2.1 C/C++ 使用数组与指针
3260
C语言数组指针和指针数组的区别及使用方法
3610
【C++】动态内存管理 ② ( new 运算符 为 基础数据类型 / 基础数据数组类型 分配堆内存 )
2730
【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 堆内存创建 )
1.6K0
相关推荐
【C 语言】数组 ( 数组指针 | 数组指针定义 | 使用 数组指针类型 定义数组指针 )
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验