60.指针数组和数组指针

一.指针数组

指针数组是一个数组,在指针数组中存放的是指针变量。

定义一个指针数组p

int *p[5];

内存模型如下:

指针数组的初始化

复制代码
#include <stdio.h>

int main(void)
{
    int a=1;
    int b=2;
    int c=3;
    int i;
    int *p[3] = {&a,&b,&c};
    for(i=0;i<3;i++){
        printf("%d\n",*p[i]);
    }
    
    return 0;
 
}

运行结果:

二.数组指针

数组指针是一个指针,指向的是数组。

定义一个数组指针P:

int (*P)[5];

内存模型如下:

数组指针的初始化

复制代码
#include <stdio.h>

int main(void)
{
    int a[5]={0,1,2,3,4};
    int i;
    int (*p)[5] = &a;

    for(i=0;i<5;i++){
        printf("%d\n",*(*p+i));
    }


    return 0;
 
}

运行结果:

三.如何区分

是指针数组还是数组指针看名字的最后俩个字,所以指针数组是数组,数组指针是指针。

四.视频教程

60.数组指针和指针数组_哔哩哔哩_bilibili

相关推荐
夜天炫安全2 小时前
数据结构中所需的C语言基础
c语言·数据结构·算法
2301_789015623 小时前
DS进阶:AVL树
开发语言·数据结构·c++·算法
qyzm6 小时前
天梯赛练习(3月13日)
开发语言·数据结构·python·算法·贪心算法
逆境不可逃6 小时前
LeetCode 热题 100 之 64. 最小路径和 5. 最长回文子串 1143. 最长公共子序列 72. 编辑距离
算法·leetcode·动态规划
CoderCodingNo7 小时前
【GESP】C++五级练习题 luogu-P1182 数列分段 Section II
开发语言·c++·算法
放下华子我只抽RuiKe57 小时前
机器学习全景指南-直觉篇——基于距离的 K-近邻 (KNN) 算法
人工智能·gpt·算法·机器学习·语言模型·chatgpt·ai编程
kisshuan123967 小时前
[特殊字符]【深度学习】DA3METRIC-LARGE单目深度估计算法详解
人工智能·深度学习·算法
sali-tec7 小时前
C# 基于OpenCv的视觉工作流-章33-Blod分析
图像处理·人工智能·opencv·算法·计算机视觉
Eward-an8 小时前
LeetCode 239. 滑动窗口最大值(详细技术解析)
python·算法·leetcode
一叶落4388 小时前
LeetCode 50. Pow(x, n)(快速幂详解 | C语言实现)
c语言·算法·leetcode