[英]Decode array of 2 elements passed to a function using pointer in c
我想實現一個 function ,我們在其中傳遞一個包含 2 個元素的數組。 但是在獲得實際值的同時,我只獲得了一個數組元素。 如何也獲得第二個元素?
#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 是
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.