指针

171 阅读1分钟

地址通常称为指针 存放地址的变量成为指针变量

定义指针变量

类型名 *指针变量名

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;

}