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

【C语言】复习~数组和指针

数组和指针


1.字符指针

char*

使用方法一:

使用方法二:

这里本质上是把常量字符串的首地址放到了指针变量pstr里面


看下面的面试题        


str3和str4指向的是同一个常量字符串,c/c++会把常量字符串存储到一个单独的内存区域,

当几个指针,指向同一个字符串的时候,他们实际上会指向同一块内存,但是用相同的常量字符串去初始化不同的数组的时候就会开辟出不同的内存块,所以str1和str2相同,str3和str4不同
 

2.指针数组

指针数组:存放指针的数组

3.数组指针

p1是指针数组

p2是数组指针

因为[]括号的优先级大于*号,所以p1是数组 而不是指针

&数组名VS数组名

在这里他俩打印的地址是一样的,但本质还是不一样的,再看下面


实际上,&arr表示的是数组的地址,而不是数组首元素的地址

本例中 &arr 的类型是: int(*)[10] ,是一种数组指针类型 

数组的地址+1,跳过整个数组的大小,所以 &arr+1 相对于 &arr 的差值是40


数组指针的使用


这里的int (*arr)[5]等价于 int[3][5]        

4.函数指针

5.相关笔试题

http://www.xdnf.cn/news/562285.html

相关文章:

  • JS手写代码篇---手写Promise
  • 【软件设计师】知识点简单整理
  • 数学建模,机器决策人建模
  • HTTPS和HTTP区别
  • 693SJBH基于.NET的题库管理系统
  • 用Recommenders,实现个性化推荐
  • 基于OpenCV的物体跟踪:CSRT算法
  • 自托管互联网广播电台Airstation
  • Docker网关冲突导致容器启动网络异常解决方案
  • Linux `cat` 命令深度解析与高阶应用指南
  • C++ - 仿 RabbitMQ 实现消息队列(3)(详解使用muduo库)
  • 物流项目第六期(短信微服务——对接阿里云第三方短信服务JAVA代码实现、策略模式 + 工厂模式的应用)
  • bitbar环境搭建(ruby 2.4 + rails 5.0.2)
  • 【寻找Linux的奥秘】第七章:虚拟地址空间
  • 第16天-使用Python Pillow库常见图像处理场景
  • javaweb-html
  • mapbox进阶,手写放大镜功能
  • C语言之预处理和宏
  • SAP-ABAP:ABAP异常处理与SAP现代技术融合—— 面向云原生、微服务与低代码场景的创新实践
  • 云原生攻防4(Kubernetes基础补充)
  • word通配符表
  • Linux上conda环境安装完全手札
  • OpenHarmony外设驱动使用 (十),Sensor
  • 企业级爬虫开发全流程指南
  • elementUI 中el-date-picker和el-select的样式调整
  • CSS 文字样式全解析:从基础排版到视觉层次设计
  • spring-boot-starter-data-redis应用详解
  • C# AI(Trae工具+claude3.5-sonnet) 写前后端
  • maven快速上手
  • AI练习:混合圆