<div dir="ltr">Hi!<br><br>In C, I like to get the memory address (void*, char*, etc.) of the blob in a Scheme u8vector. That is a u8vector that is _still_, of course. Also of course this means a pointer to the first byte in the u8vector.<br><br>I see how to do it here <a href="http://gambitscheme.org/wiki/index.php/Using_Gambit_with_External_Libraries#Accessing_Scheme_vectors_within_a_C_function">http://gambitscheme.org/wiki/index.php/Using_Gambit_with_External_Libraries#Accessing_Scheme_vectors_within_a_C_function</a> , and there are multiple suggestions in there.<br><br>Of all the suggestions, the "void *u8vectorptr = ___CAST(void*,___BODY(u8v));" form is the shortest form.<br><br>The default recommended form however uses "___BODY_AS(u8v,___tSUBTYPED)" instead of ___BODY. Another suggestion uses &___FETCH_U8(___arg1,0), or instead of 0, ___INT(0).<br><br>Can you please explain, is there any material difference or advantage between these?<br><br>Are they equal so all else the same, the shortest form I mentioned is the preferable one?<br><br>Thanks,<br>Phil<br></div>