简体   繁体   English

使用 c 中的指针对传递给 function 的 2 个元素的数组进行解码

[英]Decode array of 2 elements passed to a function using pointer in c

I want to implement a function where we pass an array of 2 elements.我想实现一个 function ,我们在其中传递一个包含 2 个元素的数组。 But while getting actual values I'm getting only one element of array.但是在获得实际值的同时,我只获得了一个数组元素。 How to get the second element also?如何也获得第二个元素?

#include<stdio.h>
#include<conio.h>
#include<stdint.h>

uint16_t a;
uint8_t arr[2];

void mcp_write(uint8_t reg, uint8_t *buffer, uint8_t length)
{
    uint16_t buff;

    printf("%d\n",reg);
    printf("%d\n",*buffer);
    printf("%d\n",length);
}

int main()
{
    arr[0]=15;
    arr[1]=255;
    mcp_write(1,arr,1);

    getch();
}

Output is Output 是

1
255
1
void mcp_write(uint8_t reg, uint8_t *buffer, uint8_t length)
{
    for (int i = 0; i < length; i++)
    {
        printf("%d\n",i);
        printf("%d\n",reg);
        printf("%d\n",buffer[i]);
        printf("%d\n",length);
    }
}

int main()
{
    arr[0]=15;
    arr[1]=255;
    mcp_write(1,arr,sizeof(arr)/sizeof(arr[0]));

    getch();
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM