franta-hg@12: #include franta-hg@15: #include franta-hg@12: #include franta-hg@12: #include franta-hg@12: #include franta-hg@12: franta-hg@12: using namespace std; franta-hg@12: franta-hg@15: int main (int argc, const char* argv[]) { franta-hg@12: cout << obarvi("*** Ukazatele ***", BARVA_ZELENA) << endl << endl; franta-hg@15: franta-hg@12: upravPromennou(); franta-hg@15: cout << endl; franta-hg@15: zpracujParametry(argc, argv); franta-hg@15: franta-hg@15: cout << endl << obarvi("*** konec programu ***", BARVA_ZELENA) << endl; franta-hg@15: exit(0); franta-hg@12: } franta-hg@12: franta-hg@12: void upravPromennou() { franta-hg@12: int x; franta-hg@12: franta-hg@15: x = 100; franta-hg@12: upravSpatne(x); franta-hg@12: cout << obarvi("špatný výsledek: ", BARVA_ZELENA) << x << endl; franta-hg@12: franta-hg@12: x = 100; franta-hg@12: upravDobre(&x); franta-hg@12: cout << obarvi("dobrý výsledek: ", BARVA_ZELENA) << x << endl; franta-hg@12: franta-hg@12: franta-hg@15: /** Nejde přeložit → error: invalid conversion from ‘int’ to ‘int*’ */ franta-hg@12: //x = 100; franta-hg@12: //upravDobre(x); franta-hg@12: //cout << obarvi("dobrý výsledek: ", BARVA_ZELENA) << x << endl; franta-hg@12: franta-hg@15: /** Nejde přeložit → error: invalid conversion from ‘int*’ to ‘int’ */ franta-hg@15: //x = 100; franta-hg@12: //upravSpatne(&x); franta-hg@12: //cout << obarvi("špatný výsledek: ", BARVA_ZELENA) << x << endl; franta-hg@12: } franta-hg@12: franta-hg@12: /** Upravujeme pouze kopii hodnoty n – úprava platí jen v rámci této funkce */ franta-hg@12: void upravSpatne(int n) { franta-hg@12: n = 123; franta-hg@12: } franta-hg@12: franta-hg@12: /** Upravíme hodnotu v paměti, do které ukazuje *n – úprava platí globálně */ franta-hg@12: void upravDobre(int *n) { franta-hg@12: *n = 123; franta-hg@12: } franta-hg@12: franta-hg@15: void zpracujParametry(int argc, const char* argv[]) { franta-hg@15: cout << obarvi("Počet parametrů: ", BARVA_ZELENA) << argc << ":" << endl; franta-hg@15: for (int i = 0; i < argc; i++) { franta-hg@15: cout << obarvi("Parametr: ", BARVA_ZELENA) << argv[i] << endl; franta-hg@15: } franta-hg@15: } franta-hg@15: