c - Malloc for a single element of a void pointer array -
i've work generic types. int,float,double,string.
let's see strings.
my array defined in string menu in way.
char** arr = (char**)malloc(number_of_strings * sizeof(char*)); now have re-create bst of strings in array. calling iterative function
palbero* a pointer bst node.
i passed 0.
size sizeof(type).
copy callback function based on types copy.
void* copia_albero_in_array_ordinato_iter(palbero* a, void* arr, int* i, int size, fncopy copy) { pstack* st = null; palbero* t = a; void* elemento; while (st || t) { if (t) { st = push(st, t); t = t->sx; } else { t = top(st); st = pop(st); elemento = malloc(size); copy(elemento, t->val); copia_dato(arr, *i, elemento, 0, sizeof(elemento)); free(elemento); t = t->dx; *(i) = *(i) + 1; } } homecoming arr; } void copia_dato(void* dest, int d_pos, void *source, int s_pos, int dim) { void *dst_addr = dest + (d_pos * dim); void *src_addr = source + (s_pos * dim); memcpy(dst_addr, src_addr, dim); } i'm pretty new c, have allocated memory array, how allocate single cell of string within it? printing array works fine. give thanks in advance , sorry if i'm missing post something.
[update comment]
doing
arr[i] = ... gives me:
array subscript not integer doing
arr[*i] = ... gives me:
[warning] dereferencing `void *' pointer, 4 invalid utilize of void look [warning] dereferencing `void *' pointer, 4 invalid utilize of void look
if declare
..., void * arr, ... arr pointer void, applying [] operator arr implicit dereferencing , lead object of type void. latter not exist. that's why compiler complains.
c arrays pointers
No comments:
Post a Comment