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





















相关推荐
NQBJT几秒前
双轮足导盲机器人:多传感融合与全局-局部分层导航系统设计
c++·esp32·openmv·避障·导盲·轮足
研究点啥好呢几秒前
滴滴Go后端开发工程师面试题精选:10道高频考题+答案解析
java·开发语言·golang
lzh200409191 分钟前
Linux信号(Signal)
linux·c++
Levin__NLP_CV_AIGC1 分钟前
py文件中文件复制方法
开发语言·python
承渊政道4 分钟前
【动态规划算法】(两个数组的DP问题深度剖析与求解方法)
数据结构·c++·学习·算法·leetcode·动态规划·哈希算法
yong99906 分钟前
EKF-SLAM在MATLAB上的仿真实现
开发语言·matlab
广州山泉婚姻9 分钟前
C语言三种基本程序结构详解
c语言·开发语言
上弦月-编程13 分钟前
【C语言】函数栈帧的创建与销毁(底层原理)
c语言·开发语言
eqwaak016 分钟前
PyTorch张量操作全攻略:从入门到精通
开发语言·人工智能·pytorch·python
辞旧 lekkk17 分钟前
【Qt】初识(上)
开发语言·数据库·qt·学习·萌新