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> '''típusazonosító''' {'''felsorolás'''} '''változók''';
+
<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:
+
''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");
}

Feltételes kifejezés

Személyes eszközök