problème avec malloc enfin je pense ... - C - Programmation
Marsh Posté le 12-05-2005 à 10:44:10
Tout d'abord, si tu initialises tout à 0 après l'allocation, utilise calloc() au lieu de malloc(), qui fait exactement ça : allocation + initialisation à 0 (malloc() ne fait qu'allouer).
Ensuite :
Citation : le truc c'est que je fais de la simulation et donc des replicats et a partir de 20réplicats avex 20000 pas de temps mon .txt est remplit de caracteres des plus farfelus. |
Je n'ai pas bien compris ce que tu voulais dire.
Ceci dit, j'utiliserais %ld et non %d pour tes long int.
Marsh Posté le 12-05-2005 à 11:34:56
utilise l'operateur [], et si tu fais ca en c++ (tu parles de .hpp) tu pourrais indexer ta matrice comme un tableau 2d
Marsh Posté le 12-05-2005 à 13:56:14
seldon1 a écrit : Voila je cherche à remplir un tableau d'entier de taille max 1200 * 1200 qui stocke le nbre de passage sur un pixel. |
!!! En C on utilise .h pour les headers, .hpp, c'est pour un autre langage. (Ca ne change rien fonctionellement, mais ça permet d'y voir clair...)
D'autre part, dans un header, on ne met pas de code.
Citation :
|
Ceci appartient clairement à un fichier .c , et s'écrit tout simplement
Citation :
|
http://mapage.noos.fr/emdel/notes.htm#malloc
Citation :
|
Ok, bonjour la globale... passons...
passage [(i * dimbord) + j] = 0; |
ceci fonctionne:
|
Ce qui donne :
|
Pour les calculs d'index, j'aurais fait une macro ou une fonction.
Marsh Posté le 12-05-2005 à 14:08:39
Emmanuel Delahaye a écrit : !!! En C on utilise .h pour les headers, .hpp, c'est pour un autre langage. (Ca ne change rien fonctionellement, mais ça permet d'y voir clair...) |
Dans un autre langage, ça peut arriver ...
Marsh Posté le 12-05-2005 à 14:15:20
++fab a écrit : Dans un autre langage, ça peut arriver ... |
mais on peut quand meme separer l'interface de l'implementation dans cet autre langage donc on peut faire mumuse avec le cpp pour rendre ca propre (je ne sais meme pas si ca se fait, c'est mal?)
Marsh Posté le 12-05-2005 à 16:21:57
++fab a écrit : Dans un autre langage, ça peut arriver ... |
... et même en C99 avec inline. J'ai un peu simplifié pour ne pas noyer le newbie...
Marsh Posté le 26-05-2005 à 13:12:18
Ok merci pour vos réponses
l'explication du .hpp au lieu du .h c'est que je dois exporter ce code dans une interface graphique (en C++)
Marsh Posté le 27-05-2005 à 22:23:17
skelter a écrit : mais on peut quand meme separer l'interface de l'implementation dans cet autre langage donc on peut faire mumuse avec le cpp pour rendre ca propre (je ne sais meme pas si ca se fait, c'est mal?) |
Ca dépend, si tu utilises une fonctionnalité avancée de cet autre langage nommée template, ça peut devenir difficile de ne pas mettre de code dans le header.
c'est sûr que ce constat peut donner de l'urticaire à certains (non non, je ne vise personne en particulier ), mais on n'est pas du tout obligé d'utiliser lesdites fonctionnalités avancées.
Marsh Posté le 28-05-2005 à 11:10:31
el muchacho a écrit : Ca dépend, si tu utilises une fonctionnalité avancée de cet autre langage nommée template, ça |
CPP c'est le C-Pre-Processor et non 'un autre langage' !
Marsh Posté le 30-05-2005 à 16:25:06
je voulais dire que meme si c++ impose avec les templates (ou inline) de mettre les definition dans un header il est toujours possible de separer visuellement l'interface de l'implementation, avec le cpp on peut faire un fichier contenant les definition inclu a la fin de l'header mais est ce que ca se fait ?
Marsh Posté le 12-05-2005 à 10:33:25
Bonjour a tous!
Voila je cherche à remplir un tableau d'entier de taille max 1200 * 1200 qui stocke le nbre de passage sur un pixel.
je realise mon allocation ds le .hpp :
tout ca est initialisé a zero:
je remplis au fur et à mesure avec:
puis a la fin j'écris tout dans un fichier .txt:
le truc c'est que je fais de la simulation et donc des replicats et a partir de 20réplicats avex 20000 pas de temps mon .txt est remplit de caracteres des plus farfelus.