Miten teen makron, joka alustaa taulukon nollilla?
C-kieli: makro: taulukko
sob
7447
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
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.
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};
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
Oih, kiitos. :) Olinpas minä kovin tyhmä kun en hokassut...
ANSI C99 sallii myös tämän:
#define alusta(taulu)
for(unsigned i=0; i
Suomi24 pudotti pois takakenon () #define-rivin lopusta.