malloc pointer to array
13,748
Posting comments as answer:
In C
you should not to cast the return value of malloc
. Please refer this post on SO for more information regarding why typecasting return value of malloc
is not a good idea in C
. And if for some reason you really really want to cast, it should be (int(*)[2])
. (int(*))
is int *
. The size passed to malloc looks fine (allocating size for 100 pointers to array of 2 ints). So you should be doing
int (*p)[2];
p=malloc(sizeof(int[2])*100);
Hope this helps!
Author by
titus
Updated on June 24, 2022Comments
-
titus about 2 years
int (*p)[2]; p=(int(*))malloc(sizeof(int[2])*100);
What is the right way to malloc a pointer to an array? I can't figure out the part with (int(*))