【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.相关笔试题





















相关推荐
程序猿小D6 分钟前
第27节 Node.js Buffer
linux·开发语言·vscode·node.js·c#·编辑器·vim
武昌库里写JAVA28 分钟前
【微服务】134:SpringCloud
java·开发语言·spring boot·学习·课程设计
weixin_419658311 小时前
数据结构之二叉树
java·数据结构
yaoxin5211231 小时前
105. Java 继承 - 静态方法的隐藏
java·开发语言·jvm
我命由我123451 小时前
嵌入式 STM32 开发问题:烧录 STM32CubeMX 创建的 Keil 程序没有反应
c语言·开发语言·c++·stm32·单片机·嵌入式硬件·嵌入式
筏.k1 小时前
C++: 类 Class 的基础用法
android·java·c++
C++ 老炮儿的技术栈2 小时前
手动实现strcpy
c语言·开发语言·c++·算法·visual studio
一条叫做nemo的鱼2 小时前
从汇编的角度揭开C++ this指针的神秘面纱(下)
java·汇编·c++·函数调用·参数传递
Joomla中文网2 小时前
joomla5去掉后台PHP版本警告信息
开发语言·php
大磕学家ZYX2 小时前
使用Nodejs尝试小程序后端服务编写:简单的待办事项管理demo
开发语言·javascript·小程序·node.js