详解指针(初阶)第二篇

简介: 详解指针(初阶)第二篇

void*指针

1. void*指针就像一个垃圾桶,他可以接收任何类型的指针。

2.void*指针不能直接进行解引用操作

3.void*指针不能直接进行加减整数运算


const修饰指针

被const修饰的变量不能被改变,但该变量本质上还是变量,你可以理解为常变量。我看如下代码,来理解以下const修饰指针变量的效果。

int a = 0;
 
const int* p = &a;
 
int const * p = &a;
 
int* const p = &a;

第二行代码:首先const修饰的是*p,*p指向的是a空间,我们不能通过*p来改变a空间的值。但const并没有修饰我的指针变量p,所以我能改变p的值,也就是说我可以改变p所指向的对象

第二行代码和第三行代码的效果相同

第四行代码:这次const修饰的是p,也就是说*p指向的a可以改变,而p所指向的地址不可以改变


数组与指针

数组名

数组名在大多数情况下表示的是数组首元素的地址,但又两个例外,

1.sizeof(数组名), 这里的数组名表示的是整个数组的地址

2.&数组名,这里的数组名表示的是整个数组的地址

数组首元素的地址数组的地址在值上是相等的,但二者检索和跳跃的权限(大小)是不一样的,用数组首元素的地址检索,只能检索该元素。同样,也只能跳过该元素。而用数组的地址检索和跳跃的权限是整个数组。

相关文章
|
6月前
|
C语言
【C语言进阶篇】什么还没学会指针? 一篇文章让你彻底搞懂指针的奥秘
【C语言进阶篇】什么还没学会指针? 一篇文章让你彻底搞懂指针的奥秘
50 0
|
存储 C语言 C++
《C和指针》读书笔记(第六章 指针)
《C和指针》读书笔记(第六章 指针)
进阶指针大全(上篇)
进阶指针大全(上篇)
69 0
|
存储 C++
指针的进阶【上篇】
指针的进阶【上篇】
79 0
指针的进阶【下篇】
指针的进阶【下篇】
61 0
|
存储 算法 C语言
你是真的“C”——指针进阶知识分享【上篇】
哈喽各位友友们😊,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享你是真的“C”——指针进阶知识分享【上篇】。都是精华内容,可不要错过哟!!!😍😍😍
99 0
|
存储 编译器 C语言
【C初阶】第七篇——指针
【C初阶】第七篇——指针
【C初阶】第七篇——指针
|
C语言
【学习笔记之我要C】指针初阶
【学习笔记之我要C】指针初阶
75 0
|
存储 算法 编译器
【C初阶】第五篇——数组
【C初阶】第五篇——数组
【C初阶】第五篇——数组