C/C++ 之 指针(1.基本类型指针)

本文通过两个示例介绍了C语言中指针的基本用法,包括如何声明指针变量、获取变量地址、通过指针访问变量内容,以及如何利用指针交换两个整数变量的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本类型指针

# include <stdio.h>
int main(void)
{
	int i=5;//系统分配了一个命名为i,内存大小为int型的大小,存放int类型的数字5的内存。内存地址值不知道,可以通过&i获得地址值。
	int * p;//系统分配了一个命名为q,存放int类型数据的地址值的内存空间。int *是数据类型,可以理解为地址数据类型。
	int * q;
	//printf("%d\n",*p);  //报错,*p是指:指针p中保存的数据是地址值,这个地址值所指向的那个内存中所保存的值。
						  //但是p没有赋值,所以它里面的保存的地址值是个垃圾值,可能那个地址值所指向的内存不是系统给你分配的内存,无法进行读写操作。
	p=&i;//取出i的地址值赋值给p;这一步是不能少的。
	printf("%d\n",*p);//输出p中保存地址值指向内存中保存的值:5

}

详细意思看注释;
下面在看一个简单的例子,互换a,b的值:
# include <stdio.h>
void hhuan(int *,int *);
int main(void)
{
	int a=5;//系统分配了一个命名为i,内存大小为int型的大小,存放int类型的数字5的内存。内存地址值不知道,可以通过&i获得地址值。
	int b=3;
	//int * p;//系统分配了一个命名为q,存放int类型数据的地址值的内存空间。int *是数据类型,可以理解为地址数据类型。
	//int * q;
	//printf("%d\n",*p);  //报错,*p是指:指针p中保存的数据是地址值,这个地址值所指向的那个内存。
						  //但是p没有赋值,所以它里面的保存的地址值是个垃圾值,可能那个地址值所指向的内存不是系统给你分配的内存,无法进行读写操作。
	//p=&i;//取出i的地址值赋值给p;这一步是不能少的。
	//printf("%d\n",*p);//输出p中保存地址值指向内存中保存的值:5

	hhuan(&a,&b);
	printf("%d, %d\n",a,b);
	return 0;

}
void hhuan(int * i,int * j )
{
	int t;
	t=*i;
	*i=*j;
	*j=t;
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值