*a代表指针,&a代表取地址
&-->取地址符
&表示取地址符
#include
void change(int *a,int b) 其中a为指针参数,*+任意参数或者变量均为指针参数或者变量 在调用该函数时需要在参数前+& 即: change(&a,&b);
变量前加*号表示加入指针。 在main函数中引用指针时是变量前加&号
int *a=&b; a是指针,把b的地址赋给a,a指向b
&表示取地址符
指针变量不赋初值会出错,temp
void change(int *a,int b) 其中a为指针参数,*+任意参数或者变量均为指针参数或者变量 在调用该函数时需要在参数前+& 即: change(&a,&b);
变量前加*号表示加入指针。 在main函数中引用指针时是变量前加&号
int *a=&b; a是指针,把b的地址赋给a,a指向b
&取地址符
指针变量不赋初值会出错,temp
函数把实参的值赋给形参,形参是个新变量,改变形参,改变不了实参
int *a=&b; a是指针,把b的地址赋给a,a指向b
int *a int* a int * a
&取地址符
指针变量不赋初值会出错,temp
int *a int* a 均是合法的指针变量定义方式
int *a = &b; // 表示将变量b的内存地址保存到指针类型变量a中;
printf("%d", *a); // *a 表示(a=0x7ffffffffe4c0)这个地址中保存的值,即变量b的值;a本身为内存地址 用16进制数表示。
& 符 表示取地址
函数指针:
eg:
//定义函数 参数:int型, 返回值:int型 int quadrate(int a ){ ..... } //定义函数指针类型变量 pq指向函数quadrate, 返回值类型+参数类型都需要对应 int (*pq)(int a) = &quadrate; int s = (*pq)(3); //通过pq指针变量调用函数 quadrate
函数指针变量保存的是,函数的代码段内存地址, 使用(*pp)调用时, 程序即应用代码段内存中的内容处理参数。
* >> 指针
& >> 取地址符
&————取地址符
&为取位符号
* 指针
& 取地址符
如果一个函数接收的是指针类型的值,那么传参的时候要加& 把地址传过去