InscriptionConnexion
- Je cherche absolument des professionnels pour m'expliquer la différence entre plusieurs points
:2loin_noel4:
' OR '1' = '1'
il y a 8 mois
- Merci du Up
:biengicle:


- Bien giclé, bien vidé
:biengicle:
' OR '1' = '1'
il y a 8 mois
C comme CLOCHARD ?
:Vache_noel_:
:TARE_:
:Gilberted_:
:Bio_:
:Clochard_:
:Ferrari_lover:
:Gay_premium:
:Nain_de_jardin_:
:Nazillion:
il y a 8 mois
- Tout le monde travaille en Info mais personne fais du C ici
:biengicle:


- Quel honte
:chatalors:
' OR '1' = '1'
il y a 8 mois
- Bah c'est la base pour apprendre
:2loin_noel4:
' OR '1' = '1'
il y a 8 mois
- Merci du Up
:biengicle:


- Bien giclé, bien vidé
:biengicle:
Bonne question — allons droit au but.


---

🧩 1. Le pointeur : un stockage d’adresse mémoire

En C, un pointeur est une variable qui contient l’adresse mémoire d’une autre variable.

int a = 42;
int *p = &a; // p contient l’adresse de a

p ne contient pas 42, mais l’adresse où est stocké 42.

Pour accéder à la valeur pointée, on déréférence : *p → donne 42.


👉 * (déréférencement) : accède à la valeur à l’adresse contenue dans le pointeur.
👉 & (adresse de) : obtient l’adresse d’une variable.


---

📦 2. Différence entre pointeur et tableau

Élément Nature Taille / Allocation Exemple

Pointeur Variable contenant une adresse Taille fixe (4 ou 8 octets) int *p; p = malloc(10 * sizeof(int));
Tableau Bloc contigu de mémoire pour plusieurs éléments Taille fixe à la compilation int t[10];


➡️ Un tableau n’est pas un pointeur, mais dans beaucoup de contextes il se comporte comme tel (car son nom “décroît” en pointeur sur son premier élément).

Exemple :

int t[3] = {1, 2, 3};
int *p = t; // ok : t est converti en pointeur sur t[0]
printf("%d", *(p+1)); // affiche 2

Mais attention :

sizeof(t) != sizeof(p);

sizeof(t) = 3 × sizeof(int)

sizeof(p) = taille d’un pointeur (4 ou 8 octets)



---

🧱 3. La structure t_list

Une struct est un type composite regroupant plusieurs champs.

Exemple :

typedef struct s_list
{
int value;
struct s_list *next;
} t_list;

Ici, t_list est un type représentant une cellule d’une liste chaînée :

value : donnée stockée

next : pointeur vers la cellule suivante



---

🪜 4. Différences selon la déclaration

Déclaration Signification

t_list lst; une structure (objet complet) de type t_list
t_list *lst; un pointeur vers une structure t_list
t_list **lst; un pointeur sur un pointeur de t_list (souvent pour modifier une liste dans une fonction)


Exemples d’usage :

t_list node; // variable simple
t_list *p = &node; // pointeur sur la variable
t_list **pp = &p; // pointeur sur le pointeur

Cas typique dans une fonction qui modifie une liste :

void add_front(t_list **lst, t_list *new)
{
new->next = *lst;
*lst = new;
}

Ici :

lst est un pointeur sur le pointeur de tête ;

on peut modifier le début de la liste à partir de la fonction.



---

🧠 En résumé

Élément Contient Exemple Usage typique

Pointeur Adresse d’une variable int *p = &a; Manipuler des variables par référence
Tableau Plusieurs valeurs contiguës int t[5]; Stocker une série fixe de données
Struct (t_list) Champs combinés (parfois chaînés) t_list node; node.next = ...; Construire des structures complexes (listes, arbres, etc.)



---

Souhaites-tu que je te fasse un schéma mémoire illustrant la différence entre t_list, *t_list, et **t_list (avec flèches et adresses) ? Ce serait très parlant visuellement.
il y a 8 mois
Proprio
Proprio
8 mois
Bonne question — allons droit au but.


---

🧩 1. Le pointeur : un stockage d’adresse mémoire

En C, un pointeur est une variable qui contient l’adresse mémoire d’une autre variable.

int a = 42;
int *p = &a; // p contient l’adresse de a

p ne contient pas 42, mais l’adresse où est stocké 42.

Pour accéder à la valeur pointée, on déréférence : *p → donne 42.


👉 * (déréférencement) : accède à la valeur à l’adresse contenue dans le pointeur.
👉 & (adresse de) : obtient l’adresse d’une variable.


---

📦 2. Différence entre pointeur et tableau

Élément Nature Taille / Allocation Exemple

Pointeur Variable contenant une adresse Taille fixe (4 ou 8 octets) int *p; p = malloc(10 * sizeof(int));
Tableau Bloc contigu de mémoire pour plusieurs éléments Taille fixe à la compilation int t[10];


➡️ Un tableau n’est pas un pointeur, mais dans beaucoup de contextes il se comporte comme tel (car son nom “décroît” en pointeur sur son premier élément).

Exemple :

int t[3] = {1, 2, 3};
int *p = t; // ok : t est converti en pointeur sur t[0]
printf("%d", *(p+1)); // affiche 2

Mais attention :

sizeof(t) != sizeof(p);

sizeof(t) = 3 × sizeof(int)

sizeof(p) = taille d’un pointeur (4 ou 8 octets)



---

🧱 3. La structure t_list

Une struct est un type composite regroupant plusieurs champs.

Exemple :

typedef struct s_list
{
int value;
struct s_list *next;
} t_list;

Ici, t_list est un type représentant une cellule d’une liste chaînée :

value : donnée stockée

next : pointeur vers la cellule suivante



---

🪜 4. Différences selon la déclaration

Déclaration Signification

t_list lst; une structure (objet complet) de type t_list
t_list *lst; un pointeur vers une structure t_list
t_list **lst; un pointeur sur un pointeur de t_list (souvent pour modifier une liste dans une fonction)


Exemples d’usage :

t_list node; // variable simple
t_list *p = &node; // pointeur sur la variable
t_list **pp = &p; // pointeur sur le pointeur

Cas typique dans une fonction qui modifie une liste :

void add_front(t_list **lst, t_list *new)
{
new->next = *lst;
*lst = new;
}

Ici :

lst est un pointeur sur le pointeur de tête ;

on peut modifier le début de la liste à partir de la fonction.



---

🧠 En résumé

Élément Contient Exemple Usage typique

Pointeur Adresse d’une variable int *p = &a; Manipuler des variables par référence
Tableau Plusieurs valeurs contiguës int t[5]; Stocker une série fixe de données
Struct (t_list) Champs combinés (parfois chaînés) t_list node; node.next = ...; Construire des structures complexes (listes, arbres, etc.)



---

Souhaites-tu que je te fasse un schéma mémoire illustrant la différence entre t_list, *t_list, et **t_list (avec flèches et adresses) ? Ce serait très parlant visuellement.
- Oui je voudrais bien un schéma mémoire
:2loin_noel4:
' OR '1' = '1'
il y a 8 mois
- Je cherche absolument des professionnels pour m'expliquer la différence entre plusieurs points
:2loin_noel4:
Ah c'est dommage que tu n'aies pas précisé lesquels. Des gens auraient pu répondre.
Certifié tous gaz.
il y a 8 mois
Poses ta question directement
:kiwi-jmp:
:OrangeRikaContent:
il y a 8 mois
ChatGPT c'est pas fait pôur les zouaves
Toutes des putes
:cafe:
il y a 8 mois