缓冲区指针作为c函数中的参数

时间:2016-03-24 15:40:44

标签: c arrays buffer bytearray

在我的应用程序中(使用c)我需要使用以下语法从字节缓冲区中读取一些整数参数:

param1 = (uInt16)(buffer[1]<<8) + buffer[0]);
param2 = (uInt16)(buffer[3]<<8) + buffer[2]);

我想编写一个函数来从缓冲区中获取Integer而不使用索引或固定数字并调用它多次......就像这样:

param1 = getWord(buffer);  //The buffer now points to first integer
param2 = getWord(buffer);  //now the buffer points to second integer

在这种情况下,我需要传递缓冲区作为参考,并且我确实需要增加函数内部的缓冲区指针。有人可以帮我写这个功能吗?可能我需要将数组指针作为参数传递,但我不知道该怎么做

1 个答案:

答案 0 :(得分:1)

 unsigned int getWord(*buffer)
{
    unsigned int a;
    a=((buffer[1]<<8)|buffer[0]);
    return a;
}

在操作时使用按位运算符,例如&#39;&amp;&#39;,&#39; |&#39;不是算术运算符,如&#39; +&#39;

希望你明白这个想法