Portál AbcLinuxu, 10. května 2025 16:03
Mám to správně?V princípe áno.
proč tam musí být int *xZápisom "int *x" deklaruješ premennú/parameter s menom "x". Tiež hovoríš, že tá premenná je typu "pointer na int". Keď vykonávanie funkcie skončí, tak tá premenná zanikne. Ale keďže, tá premenná je typu pointer, tak to miesto v pamäti kam ten pointer ukazoval, stále existuje. Tým sa dosiahne to, že hodnota získaná vo funkcii je dostupná aj po skončení vykonávania tej funkcie.
když je to ukazatel tak ukazuje na x?Nie. Ukazuje na miesto v pamäti, ktoré bude určené tam, kde tá funkcia bude použitá/zavolaná. Tam ide o to, čo je to parameter funkcie. Je to označenie nejakej hodnoty, ktoré platí počas vykonávania tej funkcie. Akú hodnotu tá premenná označuje, to sa rozhodne, keď tú funkciu zavoláš.
a do x uložím tu hodnotu co zadam do klavesniceNie celkom. Hodnota načítaná z klávesnice bude uložená na miesto v pamäti, na ktoré ukazuje pointer uložený v premennej x. Keď máš premennú 'a', tak výraz '&a' znamená "ukazovateľ na miesto v pamäti, kde je uložená hodnota premennej 'a'". Ak má premenná a hodnotu 13, tak tá 13 je niekde v pamäti. Poradové číslo tej pamäťovej bunky, kde je tá 13 uložená, to je "pointer na a". Keď do a priradím 25. Tak prepíšem hodnotu v tej istej pamäťovej bunke - teda na tej istej adrese bude miesto hodnoty 13 hodnota 25.
void nacti(int *number_1, int *number_2, int *number_3) { … }
fakt to zadání bylo jako takhle pitomí?? scanf de přeci zavolat rovnou bez nějaký další funkcičky ne nechce se něco víc?? předminulej domácák byl težší si jako myslim ;D
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.