Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
utilisateurs:hypathie:tutos:memo-c [19/08/2014 09:38] Hypathie [Les pointeurs] |
utilisateurs:hypathie:tutos:memo-c [19/08/2014 11:46] Hypathie [fonction bis] |
||
---|---|---|---|
Ligne 1236: | Ligne 1236: | ||
- | =====Les pointeurs ==== | + | =====Les pointeurs ===== |
====Définitions==== | ====Définitions==== | ||
Ligne 1349: | Ligne 1349: | ||
====tableau bis ==== | ====tableau bis ==== | ||
Un tableau est pointeur qui pointe vers le premier élément du tableau. | Un tableau est pointeur qui pointe vers le premier élément du tableau. | ||
+ | ===tableau int=== | ||
<code c> | <code c> | ||
#include<stdio.h> | #include<stdio.h> | ||
Ligne 1390: | Ligne 1390: | ||
>**''*(tab+2)''** : premier élément du tableau + 8 octets, c'est-à-dire valeur du troisième élément du tableau. | >**''*(tab+2)''** : premier élément du tableau + 8 octets, c'est-à-dire valeur du troisième élément du tableau. | ||
> etc. | > etc. | ||
+ | ===tableau char=== | ||
+ | <code c> | ||
+ | #include<stdio.h> | ||
+ | int main(void){ | ||
+ | char tab[27]; | ||
+ | tab[0]='a'; | ||
+ | tab[1]='b'; | ||
+ | tab[3]='c'; | ||
+ | tab[4]='d'; | ||
+ | tab[5]='e'; | ||
+ | tab[6]='f'; | ||
+ | tab[7]='g'; | ||
+ | tab[8]='h'; | ||
+ | tab[9]='i'; | ||
+ | tab[10]='j'; | ||
+ | tab[11]='k'; | ||
+ | tab[12]='l'; | ||
+ | tab[13]='m'; | ||
+ | tab[14]='n'; | ||
+ | tab[15]='o'; | ||
+ | tab[16]='p'; | ||
+ | tab[17]='q'; | ||
+ | tab[18]='r'; | ||
+ | tab[19]='s'; | ||
+ | tab[20]='t'; | ||
+ | tab[21]='u'; | ||
+ | tab[22]='v'; | ||
+ | tab[23]='w'; | ||
+ | tab[24]='x'; | ||
+ | tab[26]='y'; | ||
+ | tab[27]='z'; | ||
+ | printf("%c\t %c\t %c\t %c\t %c\t %c\n",tab[0],tab[5],tab[9],tab[15],tab[21],tab[26]); | ||
+ | *(tab+0)='A'; | ||
+ | tab[5]='E'; | ||
+ | printf("%c\t %c\n",tab[0],*(tab+5)); | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | a e i o u y | ||
+ | A E | ||
+ | </code> | ||
+ | * Idem en mieux (pour mémoire dure) : | ||
+ | <code c> | ||
+ | #include<stdio.h> | ||
+ | int main(void){ | ||
+ | char tab[27]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; | ||
+ | printf("%c\t %c\t %c\t %c\t %c\t %c\n",tab[0],tab[5],tab[9],tab[15],tab[21],tab[26]); | ||
+ | *(tab+0)='A'; | ||
+ | tab[5]='E'; | ||
+ | printf("%c\t %c\n",tab[0],*(tab+5)); | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | =====fonction bis ===== | ||
+ | ===Pourquoi la fonction "main" renvoie-t-elle à un "int" ? === | ||
+ | Surtout qu'elle peut contenir des "char" ! | ||
+ | Rappel : "void" : quand la fonction ne retourne rien. | ||
+ | |||
+ | <code c> | ||
+ | #include <stdio.h> | ||
+ | |||
+ | int somme(int x,int y){ | ||
+ | int result; | ||
+ | result=x+y; | ||
+ | return result; | ||
+ | } | ||
+ | int main(void){ | ||
+ | int addition; | ||
+ | addition=somme(2,3); | ||
+ | printf("%d\n",addition); | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | 5 | ||
+ | </code> | ||
+ | |||
+ | * ou en raccourci : | ||
+ | <code c> | ||
+ | #include <stdio.h> | ||
+ | |||
+ | int somme(int x,int y){ | ||
+ | int result; | ||
+ | result=x+y; | ||
+ | return result; | ||
+ | } | ||
+ | void main(void){ | ||
+ | int addition; | ||
+ | int var1=2; | ||
+ | int var2=3; | ||
+ | addition=somme(var1,var2); | ||
+ | printf("%d\n",addition); | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | >On affecte la variable "addition" de la fonction "somme" car elle a un "return". | ||
+ | > On met **''int main(void){''** car il possible de faire renvoyer des information par la fonction "main". | ||
+ | > Quand elle ne renvoie rien on peut aussi mettre **''void main(void){''**. | ||
+ | |||
+ | >**C'est au système d'exploitation que le "int" renvoie des informations**. | ||
+ | |||
+ | ===ce servir du "int" dans la fonction "main"=== | ||
+ | <code c> | ||
+ | #include <stdio.h> | ||
+ | |||
+ | int somme(int x,int y){ | ||
+ | int result; | ||
+ | result=x+y; | ||
+ | return result; | ||
+ | } | ||
+ | int main(void){ | ||
+ | int addition; | ||
+ | int var1=2; | ||
+ | int var2=3; | ||
+ | addition=somme(var1,var2); | ||
+ | printf("%d\n",addition); | ||
+ | return 0; | ||
+ | } | ||
+ | </code> | ||
+ | <code user> | ||
+ | gcc -o fct.x fct.c; ./fct.x; echo $? | ||
+ | </code> | ||
+ | <code> | ||
+ | 5 | ||
+ | 0 | ||
+ | </code> | ||
+ | > 0 est le code de retour. |