C语言 使用指针变量的例子

使用指针变量的例子
【例】
通过指针变量访问整型变量
【思路】
先定义2个整型变量,在定义2个指针变量分别指向这两个整型变量,通过访问指针变量,可以找到它们所指向的变量的地址,从而得到这些变量的值。
【代码】

int main()
{
	int a, b; //定义整型变量a,b
	printf("从键盘输入a和b的值:\n");
	scanf("%d%d", &a, &b); //给a,b赋值
	int* p1, * p2;  //定义指向整型数据的指针变量,此处的*只是表示该变量是指针变量
	p1 = &a; //把变量a的地址赋给指针变量p1,即p1指向a,p1表示a的地址
	p2 = &b; //把变量b的地址赋给指针变量p2,即p2指向b,p2表示b的地址
	printf("输出a和b的值:\n");
	printf("a=%d,b=%d\n", a, b); //输出变量a,b的值
	printf("\n");
	printf("输出*p1和*p2的值:\n");
	printf("*p1=%d,*p2=%d\n", *p1, *p2);     
	// 这里的* 表示指向,*p1表示指针变量p1所指向的变量a,也就是说*p1就是变量a         
	return 0;
}

【运行结果】
请添加图片描述
【程序分析】
(1)程序开头处定义了两个指针变量p1和p2。但是一开始它们并没有指向任何一个变量,至于指向哪一个整型变量,要在程序语句中指定。程序中的p1 = &a;p2 = &b这两个语句的作用就是是p1指向a,p2指向b,此时p1的值为&a(即a的地址),p2的值为&b(b的地址)。如下图所示:
请添加图片描述
(2)printf("a=%d,b=%d\n", a, b);输出a,b的值3和9。printf("*p1=%d,*p2=%d\n", *p1, *p2);输出*p1*p2的值也是3和9。其中“”表示“指向”。*p1表示“指针变量p1所指向的变量”,也就是变量a,*p2表示“指针变量p2所指向的变量”,也就是变量b。
(3)程序中出现两处*p1*p2,二者含义不同。程序第4行的*p1*p2表示定义两个指针变量p1和p2,这里的p1和p2前面的“
”只是表示该变量是指针变量。程序最后一行printf函数中的*p1*p2则表示指针变量p1和p2所指向的变量。
注意
定义指针变量时,左侧应有类型名,否则就不是定义指针变量。
例如:
*p1; //企图定义p1为指针变量。出错
int*p1; //正确。必须指定指针变量的基类型

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值