C


Tablice

Tablice:

deklaracja tablicy int tab[5], pierwszy element trablicy jest równy 0, a najwiekszy w tym elemencie to 4, wszystko działa według wzoru: tab[n], ostatni element jest [n-1]

int t3[]={5,10,15};
int t1[3]={5,10,15}; //deklaracja tablicy z wartością początkową
int t2[3]; //deklaracja tablicy bez wartości początkowej, jeśli tablica jest zadeklarowana globalnie to wartości wartości w niej są wyzerowane, jeśli zadeklarowana jest lokalnie to znajdują się w niej rózne śmieci z przedziału pamięci który został zarezerwowany dla tej tablicy
int t4[]; //taka deklaracja tablicy jest nieprawidłowa

sprawdzenie ile tablica zajmuje pamięci:

int t[20];
x=sizeof(t);
x=20*sizeof(int); //20*4=80, wielkość zawsze w bajtach

porównanie tablic:

int t3[30],t4[30];
int i;
int rozne;
rozne=0;
for(i=0;i<30&&!rozne;i++)
if(t3[i]!=t4[i]) rozne=1;

tablie wielowymiarowe:
int t5[3][5]; //[]- pierwszy wymiar []- drugi wymiar
deklaracja wartości początkowej

int t5[3][5]={{1,2,3,4,5}{6,7,8,9,10}{2,2,2,2,2}}

tablice znakowe

char tekst1[]={'A','B','C',\0}; // \0 - kod końca znaków
puts(tekst1)

lub

char tekst2[]="ABC"; // tu już nie trzeba dawać zera

zwiększenie kodu ASCI kodu w wybranej komórce tabeli

tekst1[1]=tekst1[1]+1;

można zauważyć róznice w zapisie pomiedzy "A" - ciąg znaków (z końcem \0) i 'A' kod ASCI

Przykład zapełnienia tablicy daną wartością:

#include <stdlib.h>
#include <stdio.h>

int t[20];
int i,z,suma;

int main(int argc, char *argv[])
    {
    printf("Podaj wartosc jaka ma byc zapelniona tabela= ");
    scanf("%d",&z);
    for (i=0;i<20;i++)
        t[i]=z;
    for(i=0;i<20;i++)
        suma=suma+t[i];
    printf("Suma=%d \n\n",suma); //wyswietli sume wszystkich elementow tabeli
    printf("A tak wyglada tabela");
    for(i=0;i<20;i++)
        printf("%d",t[i]); //wyswietlenie tabeli
}


www.piotrsog.prv.pl