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

相关推荐
DASXSDW9 分钟前
NET性能优化-使用RecyclableBuffer取代RecyclableMemoryStream
java·算法·性能优化
kfepiza15 分钟前
CAS (Compare and Swap) 笔记251007
java·算法
墨染点香44 分钟前
LeetCode 刷题【103. 二叉树的锯齿形层序遍历、104. 二叉树的最大深度、105. 从前序与中序遍历序列构造二叉树】
算法·leetcode·职场和发展
啊我不会诶1 小时前
23ICPC澳门站补题
算法·深度优先·图论
Brookty2 小时前
【算法】二分查找(一)朴素二分
java·学习·算法·leetcode·二分查找
黑色的山岗在沉睡3 小时前
LeetCode 2761. 和等于目标值的质数对
算法·leetcode·职场和发展
bawangtianzun3 小时前
重链剖分 学习记录
数据结构·c++·学习·算法
T1an-17 小时前
力扣70.爬楼梯
算法·leetcode·职场和发展
T1an-17 小时前
力扣169.多数元素
数据结构·算法·leetcode
_dindong12 小时前
动规:回文串问题
笔记·学习·算法·leetcode·动态规划·力扣