C/Tablice - więcej: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
przeniesiono część z C/Tablice, uzupełniono |
dopis tłumaczenia |
||
Linia 34:
{{infobox|W pierwotnym standardzie języka C rozmiar tablicy nie mógł być określany przez zmienną lub nawet stałą zadeklarowaną przy użyciu [[C/Zmienne#Stałe|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 [[C/Preprocesor##define|#define]]. Powinni na to zwrócić uwagę zwłaszcza [[C++/Różnice między C a C++|programiści C++]], gdyż tam zawsze możliwe były oba sposoby.}}
Innym sposobem jest użycie operatora <tt>sizeof</tt> do poznania wielkości tablicy. Poniższy kod robi to samo co przedstawiony:
<source lang="c">
#include <stdio.h>
Linia 50:
</source>
Powyżej <tt>sizeof tab</tt> zwraca cały rozmiar pamięciowy tablicy, natomiast <tt>sizeof *tab</tt> poda nam jaki jest rozmiar typu <tt>int</tt> (ponieważ takiego typu jest element tablicy, *tab). Dzieląc rozmiar pamięciowy tablicy przez rozmiar pojedynczego elementu uzyskujemy ilość elementów. (Np. przy rozmiarze 44B oraz rozmiarze sizeof(int) równym 4 otrzymujemy, że tablica zawiera 11 elementów.)
Należy pamiętać, że działa on tylko dla tablic, a nie wskaźników (jak później się dowiesz wskaźnik też można w pewnym stopniu traktować jak tablicę).▼
▲Należy pamiętać, że sposób działa
== Pobieranie wartości ==
|