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 08:49] Hypathie [Introduction] |
utilisateurs:hypathie:tutos:memo-c [19/08/2014 10:16] Hypathie [Les pointeurs] |
||
---|---|---|---|
Ligne 1347: | Ligne 1347: | ||
</note> | </note> | ||
+ | ====tableau bis ==== | ||
+ | Un tableau est pointeur qui pointe vers le premier élément du tableau. | ||
+ | ===tableau int=== | ||
+ | <code c> | ||
+ | #include<stdio.h> | ||
+ | int main(void){ | ||
+ | int tab[10]; | ||
+ | tab[0]=10; | ||
+ | tab[1]=20; | ||
+ | tab[2]=30; | ||
+ | printf("%d\t%d\t%d\n",tab[0],tab[1],tab[2]); | ||
+ | printf("%d\n",*(tab)); | ||
+ | printf("%d\n",*(tab+1)); | ||
+ | printf("%d\n",*(tab+2)); | ||
+ | printf("%d\n",*(tab+3)); | ||
+ | printf("\n"); | ||
+ | *(tab+2)=60; | ||
+ | printf("%d\n",tab[2]); | ||
+ | printf("\n"); | ||
+ | tab[2]=55; | ||
+ | printf("%d\n",*(tab+2)); | ||
+ | printf("%d\n",tab[2]); | ||
+ | } | ||
+ | </code> | ||
+ | <code> | ||
+ | 10 20 30 | ||
+ | 10 | ||
+ | 20 | ||
+ | 30 | ||
+ | 0 | ||
+ | 60 | ||
+ | 55 | ||
+ | |||
+ | </code> | ||
+ | |||
+ | >**''*tab''** : ce qui est pointé par tab | ||
+ | >**''tab[0]''** : premier élément du tableau | ||
+ | >**'' *(tab+2)''** et **''tab[2]''** ont la même valeur, on peut modifier la valeur par le biais de **''tab[2]''** ou de **'' *(tab+2)''**. | ||
+ | >**''*(tab+1)''** : premier élément du tableau + 4 octets (entier sur 4 octets), c'est-à-dire valeur du deuxième élément du tableau (le premier est ''tab[0]'' ou ''*(tab+0)'' ) | ||
+ | >**''*(tab+2)''** : premier élément du tableau + 8 octets, c'est-à-dire valeur du troisième élément du tableau. | ||
+ | > 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> |