指针妙用之将函数中形参的值传递给实参

简介: 指针妙用之将函数中形参的值传递给实参

说明


指针,是C语言中的一个重要概念及其特点,也是掌握C语言比较困难的部分。指针也就是内存地址,指针变量是用来存放内存地址的变量,在同一CPU构架下,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。有了指针以后,不仅可以对数据本身,也可以对存储数据的变量地址进行操作。 来自 指针的百度百科baike.baidu.com/item/%E6%8C…


背景


因为不止一个参数,不能用return的方式返回。同时,若用全局变量的方式,则只能用于传递同一组参数。若采用指针传递方式,则可实现传递两个参数,并具有通用性。。。 所以使用指针传递的方式,实现返回多个变量。


void Get_Value_2(unsigned int*data0,unsigned int *data1)
{ //buf中数据长度
unsignedshort buf_len = 0;
     //buf数据中值的位数
     unsignedshort buf_data_len = 0;
     unsignedshort buf_data_len_0 = 0;
     unsignedshort buf_data_len_1 = 0;
     unsignedchar i = 0;
     buf_len= Version_buf[2];
     buf_len<<= 8;
     buf_len|= Version_buf[1];
     buf_data_len= buf_len - 1 - 5;
     buf_data_len_0= 0;
     for(i= 0;i< buf_data_len;i++)
     {
               if(Version_buf[8+i]!= 0x2C)
                        buf_data_len_0++;
               else
                        break;
     }
     //总的长度减去逗号1个字符
     buf_data_len_1= buf_data_len - buf_data_len_0 - 1;
     *data0= 0;
     for(i= 0;i< buf_data_len_0;i++)
     {
               *data0+= (Version_buf[8+i]-0x30)*pow(10,buf_data_len_0 - 1 -i);
     }
     *data1= 0;
     for(i= 0;i< buf_data_len_1;i++)
     {
               *data1+= (Version_buf[8+buf_data_len_0+1+i]-0x30)*pow(10,buf_data_len_1 - 1 -i);
     }
}


相关文章
|
23天前
|
搜索推荐 C语言 C++
【C指针(五)】6种转移表实现整合longjmp()/setjmp()函数和qsort函数详解分析&&模拟实现3
【C指针(五)】6种转移表实现整合longjmp()/setjmp()函数和qsort函数详解分析&&模拟实现
|
3天前
|
存储 C语言
指针数组作为main函数的形参
指针数组作为main函数的形参
12 0
|
1月前
|
安全 C语言 C++
字符指针做函数参数
字符指针做函数参数
9 1
|
1月前
|
安全 C语言
字符指针作函数参数的深入探索
在C语言编程中,字符指针是一个重要的概念,尤其在处理字符串和文本数据时。当我们将字符指针作为函数参数时,可以实现多种灵活和高效的操作。本文将深入探讨字符指针作为函数参数的应用,并通过代码示例加以说明。
14 1
|
1月前
|
存储 Shell C语言
指针数组组main函数的形参
指针数组组main函数的形参
10 0
|
1月前
|
C语言 C++
指针变量作为函数参数
指针变量作为函数参数
8 1
|
1月前
|
存储 Serverless 编译器
怎样定义和使用指向函数的指针变量
怎样定义和使用指向函数的指针变量
8 0
|
1月前
|
C++
用指向指针函数作函数参数
用指向指针函数作函数参数
8 1
|
16天前
|
存储 C语言
C语言 — 指针进阶篇(下)
C语言 — 指针进阶篇(下)
20 0
|
16天前
|
存储 C语言 C++
C语言 — 指针进阶篇(上)
C语言 — 指针进阶篇(上)
26 0