Microchip
直播中

冯栋

7年用户 283经验值
私信 关注
[问答]

C编程指针如何把数字的地址传递给函数?

嗨,我有一个简单的指针相关问题。我想把指针传递给函数函数(VAT**PTR,size);我可以把字符串传递给这个函数,就像函数(“Microchip”,9);如果我想通过一个变量,我可以像这个CHAR=0x90那样做;函数(ANP;A 1);我想通过十六进制数为EX0x90;FU。这是错误的。如何把这个数字的地址传递给函数?问候,Akshay

以上来自于百度翻译


      以下为原文

    Hi,

    I have simple pointer related question.
I want to pass pointer to function
Function(void *ptr,size);

I can pass string to this function like
Function("Microchip",9);

If I want to pass single variable I can do it like this
char a=0x90;
Function(&a,1);
What is I want to pass hex number for ex 0x90;
Function(0x90,1);----This is wrong.
How to pass address of this number to the function?

Regards,
Akshay

回帖(19)

李维兴

2018-10-30 15:31:18
如果它支持复合文字。

以上来自于百度翻译


      以下为原文

   
Try
Function(&(char){0x90},1);
if it supports compound literals.
 
举报

王璨

2018-10-30 15:40:45
安全的方法:定义一个保持这个值的常数。传递这个常量的地址。这样做没有额外的“惩罚”。

以上来自于百度翻译


      以下为原文

    The safe way:

  • Define a constant holding this value.
  • Pass the address of this constant.
There is no additional "penalty" doing it this way.
举报

李维兴

2018-10-30 15:54:39
…或者像你的“微芯片”一样传递字符串文字。

以上来自于百度翻译


      以下为原文

    ... or pass a string literal like your "Microchip" example
Function("x90",1);
举报

吴键洪

2018-10-30 16:14:03
XC32允许字符串字中的“x”吗?我很确定XC8不编辑。我又错了…

以上来自于百度翻译


      以下为原文

    Does XC32 allow "x" in string literals?
I'm pretty sure XC8 doesn't.
 
Edit. I was wrong yet again...
 
举报

更多回帖

发帖
×
20
完善资料,
赚取积分