38931

38931



51


OPERATOR PRZECINEK

a = (b>=c) ? b : c; /* Jeśli b jest większe bądź równe c, to zwróć b.

W przeciwnym wypadku zwróć c. ♦/

lub zwracanie modułu liczby: a - a < 0 ? -a : a;

Wartości wyrażeń są przy tym operatorze obliczane tylko jeżeli zachodzi taka potrzeba. np. w wyrażeniu 1 ? 1 : fooO funkcja foo() nie zostanie wywołana.

Operator przecinek

Operator przecinek jest dość dziwnym operatorem. Powoduje on obliczame wartości wyrażeń od lewej do prawej |>o czym zwrócenie wartości ostatniego wyrażenia. W zasadzie, w normalnym kodzie programu ma on niewielkie zastosowanie, gdyż zamiast niego lepiej rozdzielać instrukcje zwykłymi średnikami. Mn on jednak zastosowanie w instrukcji sterującej for.

Operator sizeof

Oj)orator sizeof zwraca rozmiar w bajtach (gdzie l>ajtcm jest zmienna typu char) podanego typu lub typu po<lanego wyrażenia. Ma on dwa rodzaje: sizeof (typ) lub sizeof wyrażenie. Przykładowo:

#include <stdio.h>

int mainO

{

printf("sizeof(short ) printf("sizeof(int    )

printf("sizeof(long ) printf("sizeof(float ) printf("sizeof(double) return 0;

>


- 7,d\n", sizeof (short ))

■    */,d\n", sizeof (int )) = */,d\n", sizeof (long )) * */,d\n", sizeof (float ))

■    */,d\n", sizeof (double))


Ojjerator ten jest często wykorzystywany przy dynamicznej alokacji pamięci, co zostanie opisane w rozdziale poświęconym wskaźnikom.

Pomimo, że w swej budowie operator sizeof bardzo przypomina funkcję, to jednak nią nie jest. Wynika to z trudności w implementacji takowej funkcji - jej specyfika musiałaby odnosić się bezpośrednio ck) kompilatora. Ponadto jej argumentem musiałyby być typy, a nie zmienne. W języku C nie jest możliwe przekazywanie typu jako argumentu. Ponadto często zdarza się, że rozmiar zmiennej musi być wiadomy jeszcze w czasie kompilacji — to ewidentnie wyklucza implementację sizeof() jako funkcji.

Inne operatory

Poza wyżej opisanymi operatorami istnieją jeszcze:

• operator opisany przy okazji opisywania tablic;



Wyszukiwarka

Podobne podstrony:
dzenia jest mniejsze bądź równe wagowo od 0,1%. Łączone świadectwo Kapitańskie (Combined Mastera
Jeżeli kąt ten jest większy od 60st to traktujemy przewód jako uktad poziomów i
047 4 Ukladv liniowe 47 Jeśli jest spełniony warunek (6.25), to odpowiedź jest ograniczona: istnieje
Wniosek 5.3 Całkowanie nie jest działaniem jednoznacznym. Jeśli F jest funkcją pierwotną funkcji f t
•    Jeśli G jest grafem bez pętli, to mówimy, że G jest grafem k- kolor owalnym,&nbs
jeśli jest kilka takich osób, to one stają się współnajemcami. Czysz najmu i inne opłaty -4 zapłata
85623 skanuj0002 (169) 1. Według relatywnej wersji teorii PPP jeżeli inflacja w kraju Y jest większa
W systemie kursu stałego jeśli jest presja na dewaluacje, to waluta krajowa słabnie, NBP aby utrzyma
KIF40 232. Dowiedź, że jeśli R jest relacją odwrotnie jednozm. i to dla dowolnych zbiorów A. B: (a)
P1050714 Sl POLAROGRAFIA 307 »«j BD). Jeżeli potencjał jest większy niż w punkcie D, to zaczyna zach
$5 L1 %mW odwrotnie, nawet gdy (AEq — AE) jest większa od 2 kT, to stosunek — *
14 ROZDZIAŁ 1. GRUPY Jeśli G jest iloczynem ogólnym podgrup H i K, to można tylko powiedzieć, że dla
HI: p=/=0 Obliczamy r. Jeżeli statystyka t=r*V [ (n-2)/(l-r2) ] jest większa od t(a; df=n-2), to HO
NDIGDRUK00572519 13 dawanym, jak to poniżśj zobaczymy. Ciężar moczu jest większym, aniżeli wody i t
Image338 na wyjściu natychmiast po stwierdzeniu, że jedna z liczb jest większa, tzn. Ai Jeśli porówn
Image364 4.6.3.2. Dekodery wielopoziomowe Jeśli liczba bitów kodu wejściowego jest większa od liczby

więcej podobnych podstron