Info2/2008tavasz/kuka
A MathWikiből
(Változatok közti eltérés)
5. sor: | 5. sor: | ||
==== Felsorolások (enumerátorok), az enum adattípus ==== | ==== Felsorolások (enumerátorok), az enum adattípus ==== | ||
− | <code>enum</code> | + | <code>enum</code> ''típusazonosító'' {''felsorolás''} ''változók''; |
enum hetkoznap {hetfo, kedd, szerda, csutortok, pentek}; | enum hetkoznap {hetfo, kedd, szerda, csutortok, pentek}; | ||
19. sor: | 19. sor: | ||
enum t_vegu_szamjegyek {ot=5, hat, het}; | enum t_vegu_szamjegyek {ot=5, hat, het}; | ||
− | + | ''típusazonosító'' nélküli ''egyszer használatos'' felsorolások: | |
enum {tegnap, ma, holnap} mikor=ma; | enum {tegnap, ma, holnap} mikor=ma; | ||
27. sor: | 27. sor: | ||
==== typedef -- típus definiálása ==== | ==== typedef -- típus definiálása ==== | ||
+ | Definiáljuk a Gauss-egészek struktúráját: | ||
+ | |||
+ | struct Gauss_egesz { | ||
+ | int x; | ||
+ | int y; | ||
+ | } a, b; | ||
+ | |||
+ | Legyen egy ilyen típusunk: | ||
+ | |||
+ | typedef struct Gauss_egesz GEtipus; | ||
+ | GEtipus a, b; | ||
+ | |||
+ | vagy összeolvasztva: | ||
+ | |||
+ | typedef struct Gauss_egesz { | ||
+ | int x; | ||
+ | int y; | ||
+ | } GEtipus; | ||
+ | GEtipus a, b; | ||
==== esetszétválasztás (switch/case/default) ==== | ==== esetszétválasztás (switch/case/default) ==== | ||
+ | |||
+ | Az if-else csak kétfelé elágazást enged, a switch többfelé: | ||
+ | |||
+ | switch(ch) { | ||
+ | case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': | ||
+ | printf("decimális"); | ||
+ | break; | ||
+ | case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': | ||
+ | printf("hexadecimális"); | ||
+ | break; | ||
+ | default: | ||
+ | print("nem számjegy"); | ||
+ | } | ||
==== Feltételes kifejezés ==== | ==== Feltételes kifejezés ==== |
A lap 2008. március 27., 23:27-kori változata
Tartalomjegyzék |
6. előadás (2008-03-28)
Ami az eddigiekből kimaradt
Felsorolások (enumerátorok), az enum adattípus
enum
típusazonosító {felsorolás} változók;
enum hetkoznap {hetfo, kedd, szerda, csutortok, pentek}; enum Boolean {true, false} elment=false; ... enum hetkoznap fogorvos=szerda; fogorvos=pentek; ... elment=true;
Automatikusan 0-tól sorszámozódó int típusok. Az érték megválasztható:
enum t_vegu_szamjegyek {ot=5, hat, het};
típusazonosító nélküli egyszer használatos felsorolások:
enum {tegnap, ma, holnap} mikor=ma; ... mikor=holnap;
typedef -- típus definiálása
Definiáljuk a Gauss-egészek struktúráját:
struct Gauss_egesz { int x; int y; } a, b;
Legyen egy ilyen típusunk:
typedef struct Gauss_egesz GEtipus; GEtipus a, b;
vagy összeolvasztva:
typedef struct Gauss_egesz { int x; int y; } GEtipus; GEtipus a, b;
esetszétválasztás (switch/case/default)
Az if-else csak kétfelé elágazást enged, a switch többfelé:
switch(ch) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': printf("decimális"); break; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': printf("hexadecimális"); break; default: print("nem számjegy"); }