Miten c :ssa voi määritellä taulukon koon joidenkin muuttujien avulla? Siis ne muuttujat eivät oikeasti muuttuisi kuin silloin aluksi kun niiden arvot lasketaan.. Niitä ei voi heti aluksi siis määritellä const int:ksi, mutta voiko niitä muutenkaan sinne taulukkoon lisätä? Eli:
Taulukko[korkeus][leveys];
Mitä tyyppiä noiden korkeus ja leveys pitäisi olla että toi pelittäisi vai onko sitä edes mahdollista toteuttaa siten että noit korkeus ja leveys voitaisiin alussa lukea jollain for-loopilla oikeaan arvoon
Taulukko[korkeus][leveys];
Mitä tyyppiä noiden korkeus ja leveys pitäisi olla että toi pelittäisi vai onko sitä edes mahdollista toteuttaa siten että noit korkeus ja leveys voitaisiin alussa lukea jollain for-loopilla oikeaan arvoon
Vastaukset 9
Vanhimmat
// no esim. näin vois käydä..
int leveys = 10;
int korkeus = 15;
int* pTaulukko = NULL;
pTaulukko = new int[leveys][korkeus];
if ( !pTaulukko )
{
printf( "Saameri, muisti loppu!\n" );
return;
}
Saattaa unehtua, että tuo taulukko pitää vapauttaa käytönjälkeen, eli:
if ( pTaulukko )
{
delete pTaulukko;
pTaulukko = NULL;
}
Saameri, tätä se javan opiskelu teettää :(
taulukothan vapautetaan delete [] operaattorilla.
iffiä ei tarvii, delete tarkistaa kyllä null pointterit.
...kaikissa ympäristöissä, joten parempi iffitellä, jotta koodi on portattavissa sinnetänne.
"Miten c :ssa ..."
ja C toteutuksia on hyvin erilaisissa ympäristöissä. Joten ei tarkista kaikissa C ympäristöissä.
oikeessahan koodari on, varmasti löytyy ympäristöjä, joissa nullia ei tarkasteta(ei vaan ole tullut vastaan lähiaikoina).
Ottakaa koodarit manuaali käteen ja katsokaa mitä standardi sanoo NULL-osoittimesta. Jos sitten jossakin ympäristössä toiminta on muuta kuin mitä standardi sanoo, heittäkää vesilintua sellaisella.
Tätä vartenhan standardeja kirjoitetaan!
Vastaus on: "Deleting a pointer with the value zero, however, is guaranteed to be harmless."
http://www.atmosp.physics.utoronto.ca/SX5/docs/g1af03e/node5.3.4.html
Jep, in a perfect world. Ei paljo yhtään helpota oloo sano standardi mitä tahansa, kun joudut vääntämään koodisi kokonaan uusiksi kääntäjän vaihtuessa. Tämän takia kannattaa koodata "varman päälle". Onhan se noloa, kun ne standardit on, mutta ei yhtään kääntäjää(no voi olla, mutta ei oo kohalle sattunu), joka ne oikein toteuttaisi, mutta tämä on tosimaailmassa tilanne. Ja tosimaailmassa melko usein sitä koodaushommaa joutuu tekemään...
Nii muuten jos tosiaan tiedät jonkin kääntäjän, joka oikeesti on standardin mukanen, niin pistä linkki, ihan mielenkiinnosta haluaisin tietää.