C/C++中指针的加一能力

一.再日常使用C语言的时候,我们会用到数组,指针。这里就会牵扯到指针以及指针的解引用和加一能力的问题。

1.普通指针的加一能力

cpp 复制代码
    int a=0;
    int *p=&a;
    cout<<*(p+1);

在指针p加一后,因为变量a是int型,所以在加一之后就到a变量紧挨着内存的后四个字节的位置,因为此处我们没有对其进行初始化,所以每次都会是随机数,大家可以试试。

2.在一维数组内的加一能力

和第一种情况一样,如果存在越界的话,也会是随机数。

3.二维数组指针的加一能力

cpp 复制代码
    int a[2][5]={1,2,3,4,5,6,7,8,9,10};
    cout<<**(a+1)<<endl;

此时我们对a加一的话,a指针此时是指向一维数组的指针,所以每次加一都是加一整个一维数组,此时就到了6的位置。

对于二维数组不熟悉的宝宝可以去这里┗|`O′|┛ 嗷~~,这个博主讲的很不错C语言二维数组指针(指向二维数组的指针)详解 (biancheng.net)

相关推荐
仰泳的熊猫1 分钟前
题目2086:蓝桥杯算法提高VIP-最长公共子序列
数据结构·c++·算法·蓝桥杯·动态规划
蓝天智能2 分钟前
CMakeLists.txt配置详细介绍
c语言·开发语言·qt
0 0 03 分钟前
CCF-CSP 36-2 梦境巡查(dream)【C++】考点:前缀和
开发语言·c++·算法
徐子童3 分钟前
ArrayList和LinkedList的区别
java·开发语言·数据结构·高频面试题
fengxin_rou4 分钟前
redis主从和集群一致性、哨兵机制详解
java·开发语言·数据库·redis·缓存
Olafur_zbj4 分钟前
【AI】LLM上下文拼接
java·开发语言·spring·llm·context
leo__5208 分钟前
基于C#与HALCON开发的完整视觉检测系统案例
开发语言·c#·视觉检测
天赐学c语言8 分钟前
Linux - windows作为client访问linux服务端
linux·网络·c++
猿饵块12 分钟前
python--sys
开发语言·python
故河13 分钟前
Python工具:Conda 包管理器
开发语言·python·conda