C-kieli: makro: taulukko

Miten teen makron, joka alustaa taulukon nollilla?
7447
Äänestä

Muut lukivat myös

Vastaukset 7

Vanhimmat

#define alusta(taulu) memset(taulu,0,sizeof(taulu))

Mieti sentään, jos tuollaisia makroja kannattaa kirjoittaa. Funktio memset() kertoo lukijalle kaiken tarpeellisen. Sen sijaan makro alusta() täytyy aina etsiä jostakin toisaalta ohjelmakoodistasi.

Äänestä

Kai huomasit että saat taulukon täyteen nollia myös heti esittelyn yhteydessä, sanot vain ekan alkion nollaksi ja lopputaulukko pöllähtää täyteen nollia. esim.

int numerot[1000] = {0};

Äänestä
  • Juu, tiedän, mutta tentissä tykätään kysyä makro-versiota. Voisko sitä makroa tehdä jotenkin kutsumatta funktiota?

    Äänestä

  • sob kirjoitti:

    Juu, tiedän, mutta tentissä tykätään kysyä makro-versiota. Voisko sitä makroa tehdä jotenkin kutsumatta funktiota?

    näin

    #define alusta(taulu) { unsigned i; for(i=0; i

    Äänestä

  • makro kirjoitti:

    näin

    #define alusta(taulu) { unsigned i; for(i=0; i

    Oih, kiitos. :) Olinpas minä kovin tyhmä kun en hokassut...

    Äänestä

  • makro kirjoitti:

    näin

    #define alusta(taulu) { unsigned i; for(i=0; i

    ANSI C99 sallii myös tämän:

    #define alusta(taulu)
    for(unsigned i=0; i

    Äänestä

  • Sinivuokko kirjoitti:

    ANSI C99 sallii myös tämän:

    #define alusta(taulu)
    for(unsigned i=0; i

    Suomi24 pudotti pois takakenon () #define-rivin lopusta.

    Äänestä

Kommentoi aloitusta


sob kirjoitti:

Miten teen makron, joka alustaa taulukon nollilla?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu