C语言重难点总结:指针
Posted 快乐江湖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言重难点总结:指针相关的知识,希望对你有一定的参考价值。
一:指针和数组名的关系
(1)[]运算符
[]运算符的作用:,编译器会这样处理a[i]==*(a+i)
(2)指针和数组名的关系
数组名是指针常量,普通指针是指针变量
所以如果执行int* const p=a
,表示将指针修饰为常量,因此此时的p和a就基本一致了,也是不允许修改的
二:const修饰指针问题
简记:const放在谁后面就修饰谁
1:const int i
与int const i
等价,表示i
的内容不可被修改
2:const int* i
与int const* i
等价
首先i是指针,const
修饰了int
,表示指针可以变化,但是指针指向的内容不能被修改
3:int* const i
const
修饰的是指针,指针不可变,但是指向内容可以修改
4: const int* const i = &a;
这个就是上面的综合情况,指针不能修改,指向的内容也不能修改
三:指针数组和数组指针
如果没有()就是指针数组,如果有()就是数组指针
- 所谓指针数组,就是存放指针的数组,它的里面存放的全部是指针
- 数组指针,其主语就是指针,数组指针也就是指向数组
四:函数指针
数组指针是指向数组的,函数指针就是指向函数的,也就是函数也是有自己的地址的
以上是关于C语言重难点总结:指针的主要内容,如果未能解决你的问题,请参考以下文章