当前位置: 首页 > news >正文

c语言指针

指针

指针是存放地址的变量,也可以说指针=地址。

对于定义p(这里的话,只是定义,说明p是指针),p作为一个指针去指向存放数据的位置,而p意思是取(p指向的内存位置的数据);

注意
1、*p=&a的表示方法是错误的,
2、*p=a的意思:将a的值赋值给p所指向地址的值
3、p=&a的意思是:将a的地址赋值给指针p

在这里插入图片描述

int a=3;
int *p1;
p1=&a; 那么*p1=3;int a[3]
int *p=&a[0] //指针p存储a[0]的地址
int (*p)[3] = &a;//这个意思就是 p指向数组a的首地址//(*p)[3]  这个的意思只是说p是一个指向数组的指针,正好a也是一个数组

数组指针

形式 int (*p)[3];
p是一个指针,指向一个数组,这个数组是存放3个整形数据的数组。

又如int temp[3]:
temp指的是这个数组的 第一个元素 的首地址
&temp指的是整个数组的首地址

#include <stdio.h>
int main()
{int temp[5] = {1, 2, 3, 4, 5};int (*p)[5] = &temp;int i;for(i = 0; i < 5; i++){printf("%d\n", *(*p + i));//或者 printf("%d\n", (*p)[i]);} return 0;
}

p所指的是数组temp的地址,
*p+i 所指的是它在数组中的位置,
*(*p + i)就表示相应位置上的值了。
这里记住就好了

解释如下
https://blog.csdn.net/Martin0316/article/details/105776435
在这里插入图片描述
两个地址正好相差20
在这里插入图片描述

在这里插入图片描述

指针数组

形式 int *(p[3])
p是一个数组,数组内有3个元素,每个元素都是指针,指向整型数据。

http://www.lryc.cn/news/8366.html

相关文章:

  • 5.33 综合案例2.0 -ESP32拍照上传阿里云OSS
  • java无重复字符的最长子串
  • 测试用例设计工作中的应用
  • leetcode 困难 —— 数字 1 的个数(简单逻辑题)
  • 关于JSON
  • Apifox-接口调用、自动化测试工具
  • Vue一个项目兼容每个省份的个性化需求
  • npm install报错 npm ERR! 的解决办法
  • echarts修改饼图,环形图的圆环宽度,大小
  • 小白系列Vite-Vue3-TypeScript:010-封装svg
  • 卷严重、难度高、激励少,如何适应空投市场新变化
  • 基于Java与JSP的文件上传和下载
  • Gromacs中的g_mmpbsa计算带电底物与蛋白的结合能不准确
  • 【mmrotate】旋转目标检测之训练DOTA数据集
  • 图基本概念
  • 机器学习基础
  • FreeRTOS-Tickless低功耗模式 | FreeRTOS十四
  • 实现了统一消息中心的微服务基础框架 JVS,快点赞收藏
  • VMware 安装 OpenWrt 旁路由并配置 PassWall
  • R语言GD包地理探测器分析时报错、得不到结果等情况的解决方案
  • 嵌入式开发:你需要知道的5种简单
  • MVC与MVVM
  • Cortex-M0异常和中断
  • 数据库(6)--存储过程
  • c++ 指针、引用和常量
  • 1、HAL库UART 中断|DMA 自动回显接收数据
  • NPOI - ConditionalFormattingRule
  • JavaのString类这一篇就够了(包含StringBuffer_Builder)
  • C# dataGridView 导出表格 xls NPOI 2.4.1 版本
  • 秒杀项目的消息推送