指针作函数参数_VB.net_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

指针作函数参数

作者:黑客防线网安VB教程基地 来源:黑客防线网安VB教程基地 浏览次数:0

本篇关键词: 指针数据函数
黑客防线网安网讯:    指针作函数参数,形参要求是指针变量,实参要求是指针类型数据。     函数调用时,将实参的值传递给形参,形参与实参得到相同的值。这时形参所指向的数据与实参所指向的数据共享存储单元...
    指针作函数参数形参要求是指针变量实参要求是指针类型数据
    函数调用时,将实参的值传递给形参,形参与实参得到相同的值这时形参所指向的数据与实参所指向的数据共享存储单元,在函数中改变了形参所指向的数据,对应实参所指向的数据将同时改变,函数调用后带回多个值,如此在C语言中间接实现数据的双向传递。
    请注意,利用指针作函数参数实现数据的双向传递不是指指针参数本身,而是指隐藏在指针后面的指针指向变量,指针参数本身依然是单向传值。
    例将两个整数按从小到大的顺序输出。
    先定义一个函数,用指针变量作参数,实现两个数的交换,然后在主函数中调用它,完成两个整数从小到大的顺序输出。    .
    /*程序10一3,将两个整数顺序输出*/
    void exchang(pl,p2)/*交换两个数*/
    int*pl,*p2;
    (int p;
    p=*p1;*p1=*p2;*p2=p;/*结果通过*p1、*p2带回*/
    main()
    {int a,bl
    int*r,  *s;
    scanf(”%d,%d”,&a,&b)}
    r=&a;s=&b;
    if(a>b)exchang(r,s);
    printf(",%d,%d\n”,a,b);
    )
  输入数据:9,4
  运行结果:4,9
  两点说明:
  (1)若在函数中交换指针变量的值,实参r、s并不改变,指针参数亦是传值。例如:
  int*p;
  p=p1;p1=p2;p2=p;
  不要希望如此完成处理。
  (2)函数中交换值时不能使用无值的指针变量作临时变量。例如:
  int*p;
  *p=*p1;  *p1=*p2;  *p2=*p;
  p无值,*p无意义。
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-14780-1.html
网站维护教程更新时间:2012-04-03 01:14:23  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer