C语言用指针作函数参数

C语言用指针作函数参数,第1张

选D

因为第一个参数是地址传递,fun(&b,a)中传入a字符。*c=*c+1将c的值变为b字符。主函数的值改变。

第二个参数是值传递,所以在函数中d的值为B字符。但是并不影响主函数的值,所以主函数输出a的值是A。b的值是b。

void fun(char *c,int d)

使用指针作为参数时,指针变量c指向了变量b,当c变化时,b也会变化。这里*c=*c+1,是*c由a变为b。

第二个参数d变化时,a并不会变化。

%e是一种转换说明符号,表示浮点数,并且采用e计数法。

比如2.12e2

1、指针变量的赋值,分为定义时赋值(初始化)和单独赋值,如:

int x

int * px=&x //定义时赋值,也称初始化,注意这里的*是跟随int的,即变量px是int *类型变量! 实际上的赋值语句是px=&x

int * py

py=&x //单独赋值,将py指向x

*py=10 //这里的*,是引用指针中的数据 *** 作符,*跟随的变量必须是指针类型变量,否则会出错! *py就是x,这里相当于x=10

2、指针变量作为函数的参数时,子函数可以通过指针引用实参地址中的数据,达到修改实参地址中的数据。如:

#include <stdio.h>

void func( int a, int b, int *pmax )

{

if ( a>b ) *pmax=a

else *pmax=b

}

void main()

{

int a=2,b=3,max=0

func(a,b,&max )//这里将变量max的地址传递到子函数,子函数中通过该地址,可以修改max的值,达到子函数结束后,max能带回运算结果的效果。

printf("max=%d\n", max )

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8082343.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存