C语言入门:指针

时间:2019-03-19
本文章向大家介绍C语言入门:指针,主要包括C语言入门:指针使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.指针是什么?

指针是一种保存变量地址的变量。
在计算机中每个存储单元(一个字节)都有一个编号,这个编号称为变量地址。

普通变量的值就是实际值,指针变量的值是变量的地址

  • 取地址 &
#include<stdio.h>
main(){
	int a=0;
	printf("%p\n",&a);
}
  • 说明
    1.&: 在变量前面加&,可以表示获取变量的地址
    2.%p: 是地址的输出格式符
    PS: 变量的地址通常采用16位进制数表示

2.指针的使用

2.1 定义指针

定义指针的形式与定义普通变量基本一样,只需在变量名和数据类型之间加*

#include<stdio.h>
main(){
	int a=0;
	int* p;//定义一个int型的指针p
	p=&a;//将a的地址赋给指针变量p
	printf("%d\n",*p);//输出结果是a
}

指针变量只能用同类型的变量赋值
也可以对指针直接进行初始化,如下:

#include<stdio.h>
main(){
	int a=0;
	int *p=&a;
	printf("%d\n",p);//输出为十进制数的地址
	printf("%p\n",p);//输出为十六进制数的地址
	printf("%d\n",*p);//输出为0
}

指针和变量一样,必须是赋值之后才可以使用
非法格式如下:

int a=0;
int *p=a;//这是非法的,对指针初始化时,给指针赋的值必须是地址
  • 引用
int a=0;
int &p=a;