#include
#include
int taulukko[3]={1,2,3}, *ptr;
ptr = taulukko;
int main(void)
{
printf("%d", *ptr);
getch();
}
Miksi helvetissä tästä tulee error tuohon ptr = taulukko -riville ?
Katoin vielä kirjasta suoraan esimerkin, jonka suoraan pistin ja silti error.
Onko vika ohjelmointiympäristössä? Käytän Dev-C 4.9.9.2
#include
int taulukko[3]={1,2,3}, *ptr;
ptr = taulukko;
int main(void)
{
printf("%d", *ptr);
getch();
}
Miksi helvetissä tästä tulee error tuohon ptr = taulukko -riville ?
Katoin vielä kirjasta suoraan esimerkin, jonka suoraan pistin ja silti error.
Onko vika ohjelmointiympäristössä? Käytän Dev-C 4.9.9.2
Vastaukset 7
Vanhimmat
"Onko vika ohjelmointiympäristössä?"
Ei, vaan koodaajassa.
"Katoin vielä kirjasta suoraan esimerkin, jonka suoraan pistin ja silti error."
Kirjassa on virhe.
"Miksi helvetissä tästä tulee error tuohon ptr = taulukko -riville ?"
Koska teet sijoituksen funktion ulkopuolella. Siirrä tuo sijoitus vaikka main-funktion alkuun.
Olen erittäin kiitollinen tekemästäsi huomiosta; olisin muuten jatkossakin luullut, että sijoituksen voi tehdä ennen main-funktiota (koska olin tyhmä ja luulin, että tuo puoli oli ok).
Kiitos siis erittäin paljon sinulle C code !
int taulukko[3]={1,2,3}, *ptr = taulukko;
int main(void)
{
printf("%d", *ptr);
getch();
}
kertooko *ptr=taulukko kääntäjälle, että on kyseessä osoitin (*-osa) nimeltään ptr, ja että ptr:ään sijoitetaan taulukon (ensimmäisen alkion) osoite, jolloin sitten *ptr myöhemmin viittaa muistipaikkaan tallennettuun taulukon ensimmäiseen alkioon?
jep, sähän alat oppia!
> Miksi helvetissä tästä tulee error tuohon ptr = taulukko -riville ?
ptr = &taulukko
väärin, opettele c