我有一个函数 f(unsigned char ** data);
。此外,我还有一个指向对象 pObj
的指针,该对象带有一个 unsigned char* pbCert
成员。因此,我想执行这样的操作:
f(pObj->&pbCert);
不幸的是,我收到了 member identifier expected
错误。
我设法使用这种方法解决了这个问题:
unsigned char* temp = pObj->pbCert;
f(&temp);
不过我很好奇,是否有一些聪明的符号技巧可以只在一行中做到这一点?
最佳答案
&
位于整个成员访问表达式之前:f(&pObj->pbCert)
。
(事实上,您自己的 unsigned char* temp
解决方案是不完整的!调用 f(&temp)
会修改 temp
,但不会't 修改 pObj->pbCert
,除非您在调用 f
后用 pObj->pbCert = temp;
手动重新分配它。)
关于c - 指向成员属性的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34672016/