.. ,.-.. ,..,
| | .` `. | |
|''| |`'---'`| |`'-`|
|<<| | _____ | _,,..|[}{]|.,,,
_,|<<|,, | \ D / | ,-`` |[}{]| ``',
.` `..' `. | |A| | |-,, ``--'' _,-'|
| `''--''` | | |T| | | ``'''------''`` |
| [ O9 ] | | |A| | | [ Mindkind ] |
`. ~~ .' | / \ | `-,, ] 1010 [ _,-'
`''--''` _,,,,,,...|| C ||.....,,,,,,_ ``'''------''```
|<<|.-''```` _,,,,,...|[ O ]|...,,,,,,_ ```''-|[}{]|
,``` .,-''``` |[ R ]| ``''-., |[}{]|,
| `. _,,,,...|| E ||...,,,,, '|[}{]| |
|`-,_ `'-.,,_,`********| \ / |********`._,,.-'` |[}{]|'|
| `''-.,,,_ `````'''''---------'''''````` _,,,.-|[}{]| |
|`-,_ `````''''''---------'''''''````` |[}{]|'|
| `''[ ]|[}{]| |
|`-,_ [ Utilisation de l'espace mem en c ]|[}{]|'|
| `''[ ] |[}{]| |
`-,_ [ ] _,,..|[}{]|.,,,
|<;`'-.,,,_ ,-`` |[}{]| ``',
,` ; ```;;;;;;;;---------;;;;;;;;;|-,, ``--'' _,-'|
|`-,_ `'-.,,_,`********|[ !?! ]|********`| ``'''------''`` |
|`-,_`''-.,,,_ `````'''''---------'''''````| ] Kitoy [ |
|`-,_`''-.,,, `````''''''---------'''''''```-,, _,-'
`-,_`''-.,,,[ ]``'''------''``
|<`|'-.,,,_[ ]_,,,.-|[}{]|
|<<| `````''''''---------'''''''````` |[}{]|
|<<| |]Aka: [| |[}{]|
|<<| ___,,| _____ |....--------------|[}{]|,,,,,,,,,,__
|<<|,,.--'''````` __| \ D / |....--------------|[}{]|,,,,,,,,_ `````'''--..,,_
_.-'`` ,,.--'````` | |A| | |[}{]| `````''-.,, ``'-.,
; -` | |T| |,.....----------..|[}{]|,,,_ `' ;
|`'-.,, `''-..,,,_.-`| |A| |******************|[}{]|****````-_,,,,,.--'` _,,-'`|
| ```''--..,,,,,_ ```````''''''''--------------''''''''``````` __,,,,..--''``` |
| ````````''''''''''--------------''''''''''```````` |
| |
#include
#include
#include
/* Un mec je sais plus qui, a un jour inventé l'algorithme de l'ajout de 1 ou 1 unité et c'est
la raison pour laquelle le srckitoy1 vint le srckitoy2 eh oui c'est comme le mot connerie
dont mon intro à la con répond a sa définition.
* Bon alors on va parler de quoi dans ce cour? Eh bien c'est une bonne question. On va parler
des allocations mémoires.
* --- --- --- --- --- ---
* Alors premièrement pourquoi avons-nous besoin de mettre des données en mémoire. Tout
simplement car vous sortez d'une fonction le programme détruit toutes les variables qui ont
était créé a l'intérieur vous me direz oui, mais avec la fonction return on peut garder le
résultat et je vous poserai la question suivante Eh on veut sauvegarder plusieurs variables de
type différent? Bah voila pourquoi on a besoin de mettre des données en mémoires pour
sauvegarder plusieurs variables de types différentes ou non.il faut savoir aussi que le langage C
est un langage dit bas niveau c'est-à-dire que ce langage est dit près du langage machine.
Ce qui fait nous contrôlons le type de variables, les blocs qu'on alloue dans la mémoire
contrairement aux langages dits haut niveau qui font ça automatiquement. Donc, voila comment
ça se passe brièvement dans notre programme quand nous appelons notre fonction: Il crée les
variables qu'on indente et les met dans la pile du programme, le programme exécute les
instructions qui composent la fonction appelée et ensuite detruit complètement les variables
crée, et donc notre mission dans ce cour sera d'allez les sauver et de leur trouver un refuge
(dans la mémoire) eh ouais c'est comme les inondations la vers chez on va chercher les gens qui
sont dans l'eau et on les stocke dans des maisons ou des établissements bah la on va faire
pareille ;).
* */
typedef struct victimes_s{
int age_vict;
char nom_vict[16];
int f_ou_m;
}victimes_t;
/* Bon alors ici je créer un type de variable c'est a dire par exemple un int vous la variable
pour les chifres ;). Eh ben la c'est pareil sauf que mon type de variables peut contenir des
chiffres et des lettres, mais non pas l'émission rhaaaa :D.
* */
victimes_t *gen_victimes(int nbr){
victimes_t *vict[nbr]; // Bon ici on créer un tableau de une case ou une liste de victimes.
char *nom[5];
int nbr_name, age, mf;
nom[0] = "robert";
nom[1] = "bernard";
nom[2] = "loulou";
nom[3] = "cosette";
nom[4] = "abdel aziz";
nom[5] = "fatima";
/* Bon au-dessus bien je créer une liste de chaines de caractère qui contiendra les noms qui
seront pris au hasard*/
vict[nbr] = malloc(sizeof(victimes_t));
/* Ici on construit l'abri de la victime c'est qu'on
lui donne un espace pour s'installer, en langage informatique :
on créer de un espace dans la mémoire = a la taille de notre variable . Par exemple si on
aurait mis malloc(sizeof(int)); on aurait occuper 16bits de plus en mémoire sois 2 octects
car 1 octect = 8bits. */
age = 7+(int) (70.0*rand()/(RAND_MAX+1.0)); //Cette fonction nous genï¿?es un nombre au hasard
//entre 7 et 77
vict[nbr]->age_vict = age;
nbr_name = 0+(int) (6.0*rand()/(RAND_MAX+1.0));// mï¿?e chose ici avec une intervalle de 0 a 6
strcpy(vict[nbr]->nom_vict, nom[nbr_name]);
if(nom[nbr_name] == "loulou" || nom[nbr_name] == "cosette" || nom[nbr_name] == "fatima")
{
mf = 1;
}
else{
mf = 0;
}
/* La fonction ci-dessus teste si le prénom est un prénom de femme ou un prénom d'homme et
indente mf de 1 si c'est une femme et de 0 si c'est un homme eh oui si on avait pris la
fonction rand on serait retrouver avec une femme robert ou abdel aziz :s */
vict[nbr]->f_ou_m = mf;
return vict[nbr];
}
int main(){
int nbr, i;
victimes_t *vict[nbr];
printf("Bonjours je suis dieu et mon seul pouvoir est de faire des victimes dans le monde. \n
dis moi combien veux-tu de victimes? \n :");
scanf("%d", &nbr);
for(i=0; inom_vict);
printf("AGE: %d \n", vict[i]->age_vict);
if( vict[i]->f_ou_m == 1){
printf("SEXE: femme \n");
}
else{
printf("SEXE: homme \n");
}
free(vict[i]);
/* Qpres avoir utiliser l'espace mémoire on le libère pour faire les choses proprement vous
savez quand votre mère vous dit "Tu pourrai lever ta table " Ben la c'est pareil il faut
débarrasser la mémoire bon ... l'ordis il est comme votre mère si vous ne débarrassez votre table
a la sortie du programme l'ordinateur le fera comme votre mère quand vous sortez de la cuisine ;)
MAIS C'EST PAS UNE RAISON POUR NE PAS LE FAIRE !!!! */
}
return 0;
}
/* Bon voila c'est tout je sais que mes sources sont très très courtes, mais bon comme ils
s'adressent a des débutants c'est mieu de faire une chose à la fois sinon ils s'embrouillent très
vite voila en espérant que cette source vous aidera je vous souhaite a tous une bonne continuation
dans le codaz et je vous donne rendez-vous pour le 3eme numero qui traitera normalement sur le
réseau */
//Source sous license GPL Bien que... on risque pas de pomper dessus ;)
Écrit par Kitoy
__ __ __ _____
/ / / /___ ______/ /_|__ / _____ _____
/ /_/ / __ `/ ___/ //_//_ < | / / _ \/ ___/
/ __ / /_/ / /__/ ,< ___/ / |/ / __/ /
/_/ /_/\__,_/\___/_/|_/____/|___/\___/_/ - (c)Hack3ver - All rights reversed.