Question ist relevant. Ist memset
Durchführung gültige Operation auf lptr->array
Memset-Operation auf Doppelzeiger
Für die unter Darstellung
typedef struct List{
void **array; // array of void*
int lastItemPosition;
int size;
}List;
#define INITIAL_LIST_SIZE 50
createList
führt, wie unten,
List *createList(List *list, Op opType){
List *lptr = (List *)malloc(sizeof(List));
if(opType == CREATE_NEW_LIST){
lptr->array = malloc(INITIAL_LIST_SIZE*sizeof(void*));
lptr->array = memset(lptr->array, NULL, INITIAL_LIST_SIZE*sizeof(void *));
lptr->lastItemPosition = -1;
lptr->size = INITIAL_LIST_SIZE;
}
gezeigt?
[Bitte lesen Sie diese Diskussion darüber, warum nicht der Rückgabewert von 'malloc()' und Familie in 'C' umgewandelt werden soll. (Http://stackoverflow.com/q/605845/2173917). –