Can global variable be passed into Python function?

Chris Angelico rosuav at
Mon Feb 24 19:25:25 CET 2014

On Tue, Feb 25, 2014 at 5:20 AM,  <random832 at> wrote:
> On Mon, Feb 24, 2014, at 13:05, j.e.haque at wrote:
>> typedef struct {
>>   int value;
>> } Number;
>>   Number *o;
>>   o = malloc(sizeof(*o));
>>   o->value=3;
>>   printf("o<%p>, o->value<%p>\n", o, &o->value);
>> o<0x9fe5008>, o->value<0x9fe5008>
>> Is the compiler borked?
> That's cheating. Try printf("o<%p>", &o);

It's not cheating, but it's showing something different. Comparing o
and &o->value shows that the structure itself and its first member are
at the same location in memory. Comparing o and &o shows that the
structure and the pointer to the structure are at different locations
in memory.


More information about the Python-list mailing list