指针
首先我们需要搞清楚什么是指针,什么是指针变量,举一个例子:
int *i_pointer ;
这行代码的目的是,用 *号定义一个整型指针变量,其中指针变量为i_pointer ,用于存放地址,该地址就是我们常说的指针 。
i_pointer = &i;
其中&读作and,作用是取地址。这行代码的目的就是取i的地址,并赋值给i_pointer。
*:叫做取值操作符
&:叫做取地址操作符
int *i_pointer;
这里的 *号不是取值操作符,这里只是定义声明它是个指针,用于存放地址。
这里再次强调一下,当我们知道了一个变量的地址,就可以通过这个地址来访问这个变量,因此,又把变量的地址称为该变量的指针。
这里区分一下指针变量的含义,C语言中可以定义一类特殊的变量,这些变量专门用来存放变量的地址,称为指针变量。
如果执行了语句pointer=&a;
那么 &*pointer 的含义是什么呢?
其中&和 *的优先级相同,但按照自右向左结合的规则,所以先进行 *pointer的运算,它就是变量a,然后再执行&运算,得到&a,即变量a的地址。
按照这样的规则,在做的各位帅哥靓女还可以再思考一下*&a的含义是什么?
关于调用数组实参的4种方法:
①实参和形参都用数组名
void main()
{
int a[10]