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

相关推荐
Kaltistss7 分钟前
240.搜索二维矩阵Ⅱ
线性代数·算法·矩阵
轻语呢喃12 分钟前
每日LeetCode:合并两个有序数组
javascript·算法
大熊猫侯佩1 小时前
Swift 数学计算:用 Accelerate 框架让性能“加速吃鸡”
算法·swift
杰克尼1 小时前
2. 两数相加
算法
无聊的小坏坏1 小时前
单调栈通关指南:从力扣 84 到力扣 42
c++·算法·leetcode
_Coin_-1 小时前
算法训练营DAY29 第八章 贪心算法 part02
算法·贪心算法
阿维同学2 小时前
自动驾驶关键算法深度研究
人工智能·算法·自动驾驶
今天背单词了吗9802 小时前
算法学习笔记:11.冒泡排序——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·学习·算法·排序算法·冒泡排序
倔强的小石头_5 小时前
【C语言指南】函数指针深度解析
java·c语言·算法
Yasin Chen5 小时前
C# Dictionary源码分析
算法·unity·哈希算法