第九章、指针
9.1 指针变量和取地址符
#include<stdio.h>
int main()
{
int a=0,b=1;
char c='A';
/*定义了指针变量一定要赋值,只能同种类型之间.*/
int *pa=&a,*pb=&b;
char *pc=&c;
/*%p表示地址格式,*p表示地址指向的值*/
printf("&a=%p,pa=%p,*pa=%d\n",&a,pa,*pa);
return 0;
}
输出:
&a=0023FF74,pa=0023FF74,*pa=0;
而:&pa=0023FF68
9.2 传值调用和引用调用
#include<stdio.h>
/*
void fun(int a)
{
a=2;//属于两个不同作用域的a,所以main函数中输出为1。
}
*/
/*
void fun(int *a)
{
*a=2;//引用调用,属于同一个a,所以main函数中输出为2。
}
*/
int fun(int a)
{
a=2;
return a;//仅限返回一个值
}
int main()
{
int a=1;
//fun(a);
//fun(&a);
a&