指针
指针作为c语言课程中重要的内容的之类,也是对于很多初学者来说比较难理解的地方之一了。要想学好指针,我们首先要知道什么是指针了:
question 1 :
什么是指针/指针的定义?
answer :
指针是存放地址值的变量或常量。
解析: 从指针的定义当中,我们可以将这句话将这句话简化为:
指针是变量或常量
从这句话当中我们可以引申出下一个问题;
question 2 :
指针的分类:
answer :
指针变量 and 指针常量
ps : 刚才那句简化版本的指针定义中我们可以发现变量和常量当中其实是少了修饰语:存放地址值,这就是我们指针的关键所在,即指针是存放地址值的量,我们通常说成指针指向XXX。
下面给大家介绍两个指针当中常用的两个推论
question 3 :
推论
answer :
- 当程序中看见指针的表示时,要想到用地址的概念去理解
- 当编程时涉及到地址问题时,要想到用指针的方法去描述
下面给大家一个指针例子:
int * ptr;
question 4 :
int 表示什么含义?
answer :
int 首先指明的指针所能存放的数据类型,即整形。
question 5 :
*表示什么含义 ?
answer :
*表示ptr为指针类型。
了解完了指针的一些基本定义,我们向大家介绍一下指针的一些基本运算规则吧!
question 6 :
指针的一些基本运算规则 :
*&date == date
指针在c语言当中经常跟数组结合在一起来,难度极大,对于多初学者来说经常会搞混淆,下面给大家介绍一些和数组一起的运算规则
question 7 :
指针的赋值运算规则?
answer :
(1) p = &i
(2) p = array
(3) p = &array[i]]
(4) p1 = p2
(5) p = null
null 是c语言中一个预定义常量,表示不指向任何对象
question 8 :
指针变量加(减)一个整数
(1) p++
(2) p–
(3) p+i
(4) p-i
(5)p+=i
(6)p-=i
最后跟大家介绍一下指针当中一些零碎的知识
question 9 :
(p)++和p++的区别
answer
- (*p)++ 表示对p指针所指向的值取++运算
- *p++ 表示先对p指针指向的变量的地址取++运算,然后再取值
question 10 :
指针的引用?
answer :
指针变量中只存放地址,与指针相关的两个运算符是“&”(取地址运算)和“*”(指针运算符)。