地址通常称为指针 存放地址的变量成为指针变量
定义指针变量
类型名 *指针变量名
char *pa; //定义一个指向字符型的指针变量 int *pb; //定义一个指向整型的指针变量
取地址运算符和取值运算符
如果需要获取某个变量的地址,可以使用取地址运算符(&):
char *pa = &a; int *pb = &f;
如果需要访问指针变量指向的数据,可以使用取值运算符(*):
printf(“%c,%d\n”,*pa,*pb);
代码 #include <stdio.h>
int main()
{
char a = 'F';
int f=123;
char *pa =&a;
int *pb=&f;
printf("a = %c\n",*pa);
printf("f = %d\n",*pb);
*pa ='C';
*pb +=1;
printf("now,a = %c\n",*pa);//打印的是地址指向的变量的值,如果没加*就打印的是指针存放的地址
printf("now, f = %d\n",*pb);
printf("sizeof pa = %d\n",sizeof(pa));
printf("sizeof pa = %d\n",sizeof(pb));
printf("the addr of a is: %p\n",pa);//打印的是指针存放的地址
printf("the addr of b is :%p\n",pb);
return 0;
}
指针指向的是一个地址,和它指向的类型没关系
最后要注意避免访问未初始化的指针
例如: #include <stdio.h>
int main() {
int *a;
*a =123;
return 0;
}