|
Page : 1 2 Page Précédente | |
Auteur | Sujet : Question sur les structures |
in_your_phion | Bonjour,
|
Publicité | Posté le 28-05-2007 à 16:41:13 |
_darkalt3_ Proctopathe | 1/ Euh il me semble que la taille d'une struct est la taille des champs qui la composent.
--------------- Töp of the plöp |
_darkalt3_ Proctopathe |
in_your_phion | donc c'est la taille du plus grand (en mémoire) champ ? |
in_your_phion |
|
Sve@r |
--------------- Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche. |
Publicité | Posté le 29-05-2007 à 18:47:26 |
el muchacho Comfortably Numb |
Message édité par el muchacho le 29-05-2007 à 20:53:52 |
in_your_phion |
Merci. ok, donc, quand on a un tableau T et qu'on se déplace sur les adresses, on a besoin de faire
et non pas
c'est bien cela ?....? j'aimerai savoir si ce que dis ce site est vrai : notamment dans la section III :
car ca compile chez moi, et il me semblait que on faisait T+5 et non pas T+5*sizeof(type_de_T) car quand on se déplace sur un adresse, c'est une addresse donc peut importe vers quoi ca pointe c'est la taille d'une case contenant une addresse (4 octets)
Message édité par in_your_phion le 30-05-2007 à 16:31:45 |
Trap D | Faux : sizeof (char *) == 1,
Message cité 2 fois Message édité par Trap D le 31-05-2007 à 09:53:33 |
in_your_phion |
ok, merci donc, si je résume : pour créer une fonction générique on a besoin d'un prototype dans le genre de :
et si on veut faire des opérations sur les adresses de cet objet, il faut faire un cast en (char*) ? Par exemple si je veux faire une fonction addition générique, je ne peux pas faire:
car void n'est pas déréférencable. Est ce que je pourrai faire un truc du genre :
mais je sens que c'est crado . Je fais avec les pointeurs de fonctions ???? help plz Message édité par in_your_phion le 31-05-2007 à 11:21:22 |
Taz bisounours-codeur | (void*)(*(int*)a + *(int*)b);
|
Taz bisounours-codeur | fais des macros ... Message édité par Taz le 31-05-2007 à 11:32:04 |
in_your_phion |
et si je fais ça, est-ce bien :
comment ça marche avec les macros ??? Message édité par in_your_phion le 31-05-2007 à 11:37:04 |
Taz bisounours-codeur |
in_your_phion |
|
Taz bisounours-codeur |
matafan |
|
Trap D |
Message édité par Trap D le 31-05-2007 à 12:55:51 |
matafan | while aussi c'est operateur, pourtant il demande des parenthèses... Avec sizeof, un nom de variable ne nécessite pas de parenthèses. Un type nécessite des parenthèses. Bref c'est "sizeof a", et "sizeof (char)". "sizeof char" ne compile pas. |
in_your_phion |
comme ca alors ?????????????????????
merci pour le feedback sur la conception, quel est le mieux ? Message cité 1 fois Message édité par in_your_phion le 31-05-2007 à 13:32:26 |
in_your_phion | up ...... quelqu'un pourrait t-il me dire qu'elle est la meilleure solution parmi les bout de code avec les pointeurs de fonctions ? Je ne sais pas a quel niveau faire les casts ... merci par avance Message édité par in_your_phion le 01-06-2007 à 10:54:27 |
matafan | C'est quoi ce pointeur casté en int (c) ?
|
in_your_phion |
|
Sve@r |
--------------- Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche. |
Taz bisounours-codeur | et ta méthode ne marche pas si sizeof(type) > sizeof(void*). Utilise un argument supplémentaire pour le stockage du résultat |
in_your_phion |
|
matafan | Au fait, fais gaffe : tout à l'heure j'ai supposé que ta fonction add_type ne renvoyait rien, Si elle doit renvoyer un void *, alors ça devient :
|
Sve@r |
Message cité 1 fois Message édité par Sve@r le 01-06-2007 à 15:00:36 --------------- Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche. |
in_your_phion |
|
Sve@r |
--------------- Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche. |
in_your_phion |
Pour répondre à ta question sur les unions, est-ce alors le moyen ? Par exemple avec une fonction qui fait une division générique :
merki bien par avance, je ne vois pas comment faire autrement Message cité 1 fois Message édité par in_your_phion le 04-06-2007 à 18:17:31 |
Sve@r |
Message cité 1 fois Message édité par Sve@r le 05-06-2007 à 07:36:03 --------------- Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche. |
in_your_phion |
ok, je crois que je vois. J'avais fait un exemple "un peu bato" pour me permettre de comprendre. Pour les trois cas que tu cites :
je crois que je comprend avec les pointeurs sur une zone allouée :
Mais comment faire avec une zone static (cas numéro un) ? Y'a til une de ces solutions qui est mieux d'un point de vue théorique ou pratique ?? merci beaucoup encore Message cité 1 fois Message édité par in_your_phion le 04-06-2007 à 23:06:06 |
Sve@r |
Message cité 1 fois Message édité par Sve@r le 05-06-2007 à 17:43:17 --------------- Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche. |
Publicité | Posté le |
Page : 1 2 Page Précédente |
Sujets relatifs | |
---|---|
question sur les pointeurs de fonctions | question sur les pointeurs |
Question PHP, PEAR SOAP, Dotnet et sérialisation | [J2EE] Question générale |
Question sur les listbox vba excel | Affectation de structures |
[C]Passer un tableau de structures en paramètres | Question sur les schemas d'une base de données |
Question bête sur notepad++ | Question sur les structures |
Plus de sujets relatifs à : Question sur les structures |