(VS2010)用C语言实现利用多级指针修改变量的值

实验目的

利用多级指针修改一个定义变量的值

实验要点

要通过调用函数修改实参的值必须要取实参地址

实验步骤

1.打开VS2010,创建新项目,选择空项目并命名,在源文件中添加新建项,选择C++文件并命名,后缀为.cpp

2.敲代码时先写出基础框架

# include <stdio.h>
 
int main()
 
{
 
return 0;
 
}

3.在纸上写出大致思路:首先声明一个被调函数g(),再在被调函数g()中定义一个变量(示例为i = 10)和指针变量p,然后定义再声明一个被调函数f(),在f()中间接修改i的值(示例为i = 66),代码如下:

#include <stdio.h>

//修改i的值
void f(int ** q)//定义q为int **类型的指针变量
{
	**q = 66;//*q = p;**q = *p = i
	return;
}

//输出修改后的值
void g()
{
	int i = 10;//定义变量值
	int * p = &i;//定义p指针变量指向i,并保存i的地址

	f(&p);//被调函数,要改变实参值必须取地址作为实参
	printf("i = %d\n",i);//输出i的值
	return;
}

//主函数
int main()
{
	g();//被调函数
	return 0;
}

4.实验结果(若运行时cmd没有显示且没有报错,可以右键点击总工程名,点击属性,修改链接器下的系统中的子系统,选择控制台 (/SUBSYSTEM:CONSOLE)然后应用确定):

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5YGP54ix5pma6aOOeA==,size_20,color_FFFFFF,t_70,g_se,x_16

 

实验小结

理解以下变量之间的关系: 

int i = 10;

int * p = &i;

int ** q = &p;

int *** r = &q;

*p = i;

**q = p;

***r = q;

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5YGP54ix5pma6aOOeA==,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值