指针变量定义的时候这样写:
int *p1;
int* p2;
这两种定义方法都是对的。但是第二种比较标准,第一种也不报错。
如果你使用第二种定义方法,我相信你就不会有这个疑惑了吧。
因为p2的类型就是int*,所有在函数中要出现*,否则编译器怎么会知道传过来的参数是指针呢。
m,n是指针变量,这里m,n代表的是一个变量的入口地址.而*m,*n则是m,n那个入口地址存入的数了,两个有根本的区别!
void max(int *m,int *n),这个表示此函数接收的是两个指向int的指针变量,void max(int m,int n),这个表示此函数接收两个Int变量,此声明int *m;表示m是指向一个Int的指针,*m表示指针所指的地址存储的int型变量的值。 明白不?
指针变量在定义和使用的形式上是不同的。
定义时写成int *m是要表明m是指针变量,定义完成后m就是指针变量。
使用的时候m表示地址,*m表示m指向的变量