详解指针(初阶)第二篇

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

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语言指针初阶(2)---完结
C语言指针初阶(2)---完结
C语言指针初阶(2)---完结
|
存储 C语言 C++
《C和指针》读书笔记(第六章 指针)
《C和指针》读书笔记(第六章 指针)
|
安全 Java 程序员
【C++知识点】指针
【C++知识点】指针
136 0
进阶指针大全(上篇)
进阶指针大全(上篇)
67 0
指针的进阶【下篇】
指针的进阶【下篇】
60 0
|
存储 C++
指针的进阶【上篇】
指针的进阶【上篇】
76 0
|
存储 C语言
进阶C语言 第二章-------《进阶指针》 (指针数组、数组指针、函数指针、回调指针)知识点+基本练习题+深入细节+通俗易懂+完整思维导图+建议收藏(一)
进阶C语言 第二章-------《进阶指针》 (指针数组、数组指针、函数指针、回调指针)知识点+基本练习题+深入细节+通俗易懂+完整思维导图+建议收藏(一)
|
存储 C语言
进阶C语言 第二章-------《进阶指针》 (指针数组、数组指针、函数指针、回调指针)知识点+基本练习题+深入细节+通俗易懂+完整思维导图+建议收藏(二)
进阶C语言 第二章-------《进阶指针》 (指针数组、数组指针、函数指针、回调指针)知识点+基本练习题+深入细节+通俗易懂+完整思维导图+建议收藏(二)