Please see the below code :
SomeStructure* SomeFunc();
#define kkData (*SomeFunc())
Question : What does kkData represents ?
EDIT : Removed semi-colon from second line.
CodePudding user response:
This directive
#define kkData (*SomeFunc());
means a call of the function SomeFunc and dereferencing the pointer to a structure returned from the function.
For example you could write in the program
SomeStructure s = kkData
Pay attention to that the semicolon in the directive should be removed. In this case the code in the program
SomeStructure s = kkData;
will be more clear.
CodePudding user response:
As with all #define directives kkData is simply text that will be replaced by (*SomeFunc()) before compilation. It is not by any means a function pointer, just a macro used to get a result from SomeFunc() and dereference it, in a single word.
