38984

38984



106


ROZDZIAŁ 16. TABLICE

int tablica[20] - {1,};

Niekoniecznie trzeba podawać rozmiar tablicy, np.: int tablica[] - {1, 2, 3, 4, 5};

W takim przypadku kompilator sam ustali rozmiar tablicy (w tym przypadku 5 elementów).

Rozpatrzmy następujący kod:

#include <stdio.h>

#define ROZMIAR 3 int mainO {

int tab[ROZMIAR) - {3,6,8}; int i;

printf ("Druk tablicy tab:\n");

for (i-0; i<R0ZMIAR; ++i) {

printf ("Element numer '/.d * */,d\n", i, tab[i]);

>

return 0;

Wynik:

Druk tablicy tab:

Element numer 0-3 Element numer 1-6 Element numer 2-8

Jak widać, wszystko się zgadza. W powyżej zamieszczonym przykładzie użyliśmy stałej do podania rozmiaru tablicy. Jest to o tyle pożądany zwyczaj, że w razie konieczności zmiany rozmiaru tablicy zmieniana jest tylko jedna linijka kodu przy stałej, a nie kilkadziesiąt innych linijek, rozsianych po kodzie całego programu.

W pierwotnym standardzie języka C rozmiar tablicy nie mógł być określany przez zmienną lub nawet stałą zadeklarowaną przy użyciu słowa kluczowego const. Dopiero w późniejszej wersji standardu (tzw. C99) dopuszczono taką możliwość. Dlatego do deklarowania rozmiaru tablic często używa się dyrektywy preprocesora #define. Powinni na to zwrócić uwagę zwłaszcza programiści C+-+-, gdyż tam zawsze możliwe były oba sposoby.


Innym sposobem jest użycie operatora sizeof do poznania wielkości tablicy. Poniższy kod robi to samo co przedstawiony:

#include <stdio.h> int mainO {

int tab[3] - {3,6,8};



Wyszukiwarka

Podobne podstrony:
img126 Tabela 7.16 Tablica analizy wariancji dla danych z tabeli 7.J5 Źródło Suma Liczba
SCAN0165 16 TABLICA 3.2Korzyści i ograniczenia kontraktowych strategii wejścia na rynki zagraniczne
Zadanie 3.
30 (406) 16. Tablica na pomniku w Kruszynie bitniejszy znawca dziejów powstania styczniowego prof. S
14 Mirosław Chudek d) grubość warstwy h = 100 m nad podsadzką x 0; tablica 16 Tablica
16 TABLICE POGLĄDOWE DO NAUKI TOPOGRAFII WOJSKOWEJ II-WOJSKOWA MAPA TOPOGRAFICZNA ODWZOROWANIE WALC
5 > D = A.*B D = 1 4 9 16 Należy tu od razu podkreślić operacje macierzowe od operacji tablicowyc
DSC00370 (16) Tablice wielowymiarowe: ■    Elementy tablicy umieszcza się pamięci kom
DSC00373 (16) Tablice wielowymiarowe: ■    Jak tablicę odbieramy w funkcji? ■  &

więcej podobnych podstron