关于指针的一些小知识点整理
-
指针变量涉及到的两个要素 (1),指针对应的内存地址。 (2),指针对应地址的内存大小,用指针类型来体现(char*,int*等)。 -
只关注地址,不关心指针对应内存的内容就是可以用void*。 void*对应任意大小的内存,不可以解引用。 -
空指针不同于void*。 -
11 22 33 44大端字节序,高位在左,低位在右。44 33 22 11小端字节序 -
指针p+1代表跳过一个元素,至于跳过多少个字节有这个元素类型决定 -
数组隐式转成指针的三种情况: (1),数组名在作为函数参数时。 (2),数组名直接打印。 (3),数组名参与算术运算
以上情况转成指针时都是指向数组第一个元素的指针
-
指针也可以用来比大小,一般用来判断是不是指向同一个地址。 -
指针相减是在算两个指针之间隔了多少个元素 -
指针数组: int* arr【4】={ 0 }; -
数组指针: int(*arr)【4】={ 0 }; -
const int* p限制根据指针修改对应的内存内容 int const* p限制根据指针修改对应的内存内容 int* const p限制修改指针的指向
本文深入探讨了指针变量的两大核心要素:内存地址及内存大小,并详细解释了void*的用途及其与空指针的区别。文章还介绍了大端与小端字节序的概念,指针加一操作的含义,以及数组转指针的三种常见场景。此外,还讨论了指针比较、相减的应用,指针数组与数组指针的区别,以及const修饰符在指针上的不同使用方式。
1429

被折叠的 条评论
为什么被折叠?



