J'essaie d'obtenir l'adresse de la structure.
Je veux obtenir l'adresse dans un Comment puis-je obtenir int * code>, et je veux modifier l'adresse en ajoutant des chiffres au int * code>. J'ai essayé plusieurs manières, mais je ne peux pas le résoudre. P> m [0] [0] [0] code> adresse 's dans un int * code>? p> p>
3 Réponses :
Vous n'avez pas besoin d'avoir l'adresse dans un Vous pouvez simplement ajouter à int * code> afin d'y ajouter. La façon dont [] code> fonctionne, est-ce qu'il ajoute au pointeur et à la déréférences. P>
* (m [0] + 1) code> pour obtenir le deuxième élément. P>
Que diriez-vous: p>
int * ptr = (int *) m [0]; p>
Les premières choses permettent d'abord Pointeur vide strong> p> Un pointeur à vide est un type de pointeur maintenant, Votre code devient: p> la taille Comment puis-je obtenir m [0] [0] 's adresse dans un int *? p>
BlockQuote> C'est une mauvaise question! parce que m est un tableau de Si vous souhaitez l'adresse de départ du typedef code> votre structure, nous pouvons donc taper moins et être plus clair: Void * code> peut être converti en tout autre type de pointeur sans une coute explicite forte>. Nous ne pouvons pas désaffecter un void * code> ou faire du pointeur arithmétique avec elle; Vous devez la convertir en premier pointeur de type de données complète (comme int * code> par exemple) puis effectuez la réfraction ou le pointeur arithmétique. p> MALLOC () la valeur de retour " p> de (vide *) code> est identique à la taille de tout pointeur (à l'exception des pointeurs de fonction dans certaines machines / OS). P>
Void * code> à "NUM_D STRUCTS" (Tenant l'adresse du tas NUM_D). P> i-th num_d code> struct dans le tableau m code>, puis renvoyer le vide * code> dans l'index i code> dans ce tableau m [ I] code>. et si vous voulez le lancer, je ne peux pas le jeter (aucun besoin réellement), attribuez-le simplement: P> unsigned char data = ((num_d*)m[i])->data;
unsigned char* p_data = &((num_d*)m[i])->data;
@Park - content de vous aider. J'espère que ma réponse vous a aidé et rendre les choses plus claires. Si vous le trouvez utile et clair, veuillez accepter et le voter (poussant le V à proximité). Merci.
Tout simplement
(int *) & m [0] [0] code>?Où est le
int code> que vous souhaitez aborder? Vous avezChar code> S dans la structure.Peut-être que vous voulez un «code> union code> au lieu d'un
struct code> ... mais je ne peux que deviner qu'à ce que vous essayez vraiment de faire parce que vous ne nous avez pas dit.