C语言指针 深入浅出讲解

指针在我的理解就是一个指向值的地址,地址是连续的,比如这个:

我写了一个数组,分别赋值4,5,6...11;

它们的地址分别如下:

可以看到地址增长是4,这是因为,地址虽然是连续的,但是每个地址也是有空间的,int型在我电脑是4bytes,所以这里是以4位长;

数组指针:

int (*arrayPtr)[5] 这里用括号是因为[]的优先级比较高,所以要用括号括起来,

cpp 复制代码
#include <stdio.h>

int main() {
    // 声明一个数组,包含5个整数
    int arr[5] = {1, 2, 3, 4, 5};
    
    // 声明一个指向包含5个整数的数组的指针
    int (*arrayPtr)[5];
    
    // 让指针指向我们刚刚声明的数组
    arrayPtr = &arr;
    
    // 通过数组指针访问数组元素
    printf("First element: %d\n", (*arrayPtr)[0]);
    printf("Third element: %d\n", (*arrayPtr)[2]);
    
    return 0;
}

指针数组:

cpp 复制代码
#include <stdio.h>

int main() {
    // 声明5个整数
    int a = 1, b = 2, c = 3, d = 4, e = 5;
    
    // 声明一个包含5个整数指针的数组
    int *ptrArray[5];
    
    // 让数组中的每个指针分别指向上面声明的整数
    ptrArray[0] = &a;
    ptrArray[1] = &b;
    ptrArray[2] = &c;
    ptrArray[3] = &d;
    ptrArray[4] = &e;
    
    // 通过指针数组访问整数
    printf("First element: %d\n", *ptrArray[0]);
    printf("Third element: %d\n", *ptrArray[2]);
    
    return 0;
}
相关推荐
辞旧 lekkk5 小时前
【Qt】信号和槽
linux·开发语言·数据库·qt·学习·mysql·萌新
2zcode6 小时前
运动模糊图像复原的MATLAB仿真与优化
开发语言·matlab
袁雅倩19976 小时前
当吸尘器、筋膜枪都用上Type-C,供电方案该怎么选?浅谈PD取电芯片ECP5702的应用
c语言·开发语言·支持向量机·动态规划·推荐算法·最小二乘法·图搜索算法
Aaswk7 小时前
Java Lambda 表达式与流处理
java·开发语言·python
万邦科技Lafite7 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
Cyber4K8 小时前
【Python专项】进阶语法-系统资源监控与数据采集(1)
开发语言·python·php
Le_ee9 小时前
ctfweb:php/php短标签/.haccess+图片马/XXE
开发语言·前端·php
yong99909 小时前
MATLAB读取高光谱图像
开发语言·matlab
2zcode10 小时前
基于MATLAB的肝病风险评估与分期分析系统设计与实现
开发语言·matlab
小小de风呀10 小时前
de风——【从零开始学C++】(五):内存管理
开发语言·c++