malloc pointeur de tableau
int (*p)[2];
p=(int(*))malloc(sizeof(int[2])*100);
Quelle est la bonne façon de malloc un pointeur sur un tableau?
Je ne peux pas comprendre la partie avec (int(*))
En C
oh wow ne plus les erreurs de compilation, merci
Et si vraiment vous voulez vraiment en fonte, il devrait être
merci de bien vouloir, vous pouvez poster cela comme une réponse
Je ne vois pas le problème ici. Pouvez-vous être plus précis?
(int(*))
doit être évitée. Il est suggéré que vous ne lancez pas la valeur de retour de malloc
.oh wow ne plus les erreurs de compilation, merci
Et si vraiment vous voulez vraiment en fonte, il devrait être
(int(*)[2])
. (int(*))
est int *
. La taille transmis à malloc
a l'air bien (allocation de taille pour 100 pointeurs de tableau de 2 ints)merci de bien vouloir, vous pouvez poster cela comme une réponse
Je ne vois pas le problème ici. Pouvez-vous être plus précis?
OriginalL'auteur titus | 2012-02-17
Vous devez vous connecter pour publier un commentaire.
Poster des commentaires comme réponse:
Dans
C
vous ne devriez pas jeter la valeur de retour demalloc
. Veuillez vous référer ce post sur DONC, pour plus d'informations concernant les raisons de typecasting valeur de retour demalloc
est pas une bonne idée dansC
. Et si pour quelque raison vous avez vraiment, vraiment envie de jeter, il devrait être(int(*)[2])
.(int(*))
estint *
. La taille transmis à la fonction malloc a l'air bien (allocation de taille pour 100 pointeurs de tableau de 2 entiers). Donc, vous devriez être en train de faireEspérons que cette aide!
OriginalL'auteur another.anon.coward
Il n'est pas clair ce que vous voulez ici. Si vous voulez 100 int paires, par exemple, disposés comme un tableau de pointeurs sur int (où chaque pointeur de points à exactement deux ints), alors vous avez besoin à appeler malloc 100 fois sur 100 pointeurs sur int, l'affectation de deux nombres entiers à chaque fois.
Il n'a tout simplement pas de " sens "malloc un pointeur vers un tableau". Vous pouvez malloc un tableau, et d'assigner l'adresse d'un pointeur, sinon vous pouvez malloc un tableau de pointeurs. Mais ce que vous avez demandé n'est pas clair.
Je pense qu'il est assez clair que la coopérative doit ici.
OriginalL'auteur Fooberman