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

C语言学习20250611

指针

指针类型

  1. int p;==》普通的整形变量
  2. int *p;==》p先与*结合,表示p为指针,该指针指向的内容的数据类型为整型
  3. int p[3];==》p为一个由整型数据组成的数组
  4. int *p[3];==》因为[]比*优先级高,p先与方括号结合,所以p为一个数组,再与*结合说明数组内的元素是指针类型,指针指向的内容类型为整型,所以p是一个由返回整型数据的指针所组成的数组
  5. int (*p)[3];==》p先与*结合,说明p为指针,再与方括号结合,说明指针指向的内容是一个数组,然后再与int结合,说明数组内的元素为整型,所以p为一个指向由整型数据组成的数组的指针
  6. int **p;==》p先与*结合,说明p为指针,然后再与*结合,说明指针指向的元素为指针,然后再与int结合,说明该指针所指向的元素是整型数据
  7. int p(int);==》p先与括号结合,说明p为函数,且该函数有一个整型变量的参数,函数的返回值是整型数据
  8. int (*p)(int);==》p先与*结合,说明p为指针,然后与括号结合,说明指针指向一个函数,函数有一个整型变量的参数,返回值为整型数据,所以p是一个指向有一个整型参数且返回值为整型的函数的指针
  9. int *(p(int))[3];==》p先与括号结合,说明p为函数,函数有一个整型变量的参数,再与*结合,说明函数返回的是指针,再与方括号结合,说明返回的指针指向一个数组,再与结合,说明数组里的元素为指针,再与int结合,说明指针指向的内容是整型数据,所以p是一个参数为一个整型数据且返回一个指向由整型指针变量组成的数组的指针变量的函数

指针

指针为特殊变量,存储的数值为内存中的地址。
指针重点:

  • 指针的类型
    指针本身所具有的类型,把指针声明语句中的指针名字去掉,剩下的部分就是指针的类型
    int *p;==》指针的类型为int *
  • 指针所指向的类型
    当通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容当做什么来看待。
    将指针声明语句中的指针名字和*去掉,剩下的就是指针所指向的类型
  • 指针的值(指针所指向的内存区)
    指针本身存储的数值,这个值会被编译器当做地址
    指针所指向的内存区就是从指针的值所代表的那个内存地址,长度为sizeof(指针所指向的类型)的一片内存区。
  • 指针本身所占据的内存区
    32位平台中指针本身占据4字节

指针的运算

一个指针pold加/减一个整数n后,结果是一个新指针pnew,两指针类型相同,所指向的类型也相同,两值相差n*sizeof(pold指针所指向的类型)个字节
两指针不能加法运算,为非法操作;可以进行减法运算,但必须类型相同

运算符&和*

&:取地址运算符
* :间接运算符

相关文章:

  • 亮数据抓取浏览器,亚马逊数据采集实战
  • Flask 报错修复实战:send_file() got an unexpected keyword argument ‘etag‘
  • vite原理
  • MFC 第1章:适配 WIndows 编程的软件界面调整
  • 创建和运行线程
  • 训练过程中的 Loss ?
  • 红队手法:从web漏洞到ssh横向移动 实战方案
  • 达梦数据库dsc集群+异步主备
  • Android11三网共存
  • el-table-v2修改表头、单元格、表格整体的宽度、高度样式
  • 用 IRify 深入探索 WebShell 中的 Source/Sink 挖掘
  • C# ConcurrentDictionary 中获取指定范围的元素
  • 解密Spring Boot:深入理解条件装配与条件注解
  • 教师端用户操作手册
  • 使用 C/C++、OpenCV 和 Libevent 构建联网人脸识别考勤系统 [特殊字符]‍[特殊字符]
  • docker和docker-compose的版本对应关系怎么看?
  • 顶顶通电话机器人功能列表
  • Spring Security是如何完成身份认证的?
  • 紫光展锐T8300以创新音频技术重塑感知世界
  • kafka-生产者(day-2)
  • 做化妆品网站的意义/网店搜索引擎优化的方法
  • 2008 .net 网站 目录 权限管理/怎么把网站排名优化
  • 建设大型网站制作品牌/关键词优化推广公司排名
  • 宜州做网站/今天的最新新闻内容
  • 郑州汉狮做网站费用/电商运营推广怎么做
  • 住房及城乡建设部网站九大员/文案代写在哪里接单子