将文字传递给 C 中的指针

Passing literals to pointers in C

有没有办法将文字值传递给指针的函数参数。

例如

 unsigned char returnBitShift(unsigned char* bit , unsignedChar* shiftBitsToRight){ 
    return (*bit) >> (*shiftBitsToRight);
}
unsigned char someBit = 254 , bitval;
bitVal = returnBitShift(&someBit,(unsigned char)& 1);

您可以使用复合文字来创建未命名对象,并且可以获取其地址并将其传递给函数:

bitval = returnBitShift(&someBit, & (unsigned char) {1});

复合文字的形式是在括号中包含类型,后跟在大括号中的初始化列表。