应该指针在c中签名或未签名

log*_*use 0 c int microcontroller

我有get_picture()一个拍照的功能.它返回一个类型为uint8_t的指针(存储pciture的位置),并获取一个指向存储图片长度的变量的指针.

这是宣言:

uint8_t * get_picture(int *piclength)
Run Code Online (Sandbox Code Playgroud)

在这里我称之为main():

unsigned int address, value;
address = (unsigned int)get_picture((int*)& value);
Run Code Online (Sandbox Code Playgroud)

我的问题是 - 因为address我实际上应该将它定义为一个地址(这是正面的)int.

Dra*_*vic 10

我不确定你理解指针.

如果你的函数返回a,uint8_t *那么你应该将它存储在uint8_t *非int中.

举个例子:

uint8_t* get_picture(int* piclength);

int piclength;
uint8_t* address;
address = get_picture(&piclength);
Run Code Online (Sandbox Code Playgroud)