cast a C char array - offset ?

irtcupc via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Feb 2 04:16:37 PST 2015


The manual section about interfacing from c states that "type[]" 
is inter-compatible from C to D,

however, I face this strange case:

- C declaration:
char identifier[64];

- D declaration:
char[64] identifier;

- the result is only correct if i slice by (- pointer size):
char[64] fromC(char[64] * thing)
{
     const offs = size_t.sizeof;
     return thing[-offs.sizeof .. $-offs];
}

Is this correct ?


More information about the Digitalmars-d-learn mailing list