typy i zmienne funkcje, Ebooks, Informatyka, języki i metody programowania C2

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • smakujzapachy.keep.pl
  • Podobne

     

    typy i zmienne funkcje, Ebooks, Informatyka, języki i metody programowania C2

    [ Pobierz całość w formacie PDF ]

    Typy i zmienne: wskaźnikowe, referencyjne

    Funkcje – deklaracja, definicja.

    Zasięg deklaracji i widoczność zmiennych

    Przekazywanie parametrów przez wartość, referencje i wskaźnik

    Przekazywanie wyniku funkcji przez return

                  Typy i zmienne wskaźnikowe

     

    typ * nazwa_wkaźnika

     

     

    Wskaźnik

    Typ wskaźnika

     

    Zmienna

    Inicjowa-nie zmiennej wskaźni-kowej

    Zmienna wskazy-wana

    Typ zmiennej wskazy-wanej

    char* a;

    a – wskaźnik na znak

    char a_;

    a = &a_;

    *a = ’A’;

    lub

    a_ = ’A’;

    char - znakowy

    int* b;

    b – wskaźnik do liczby całkowitej

    int b_;

    b =&b_;

    *b = 3;

    lub

    b_ = 3;

    int – całkowity

    double* c;

    c – wskaźnik do liczby rzeczywistej

    double c_;

    c = &c_;

    *c = 2.8;

    lub

    c_ = 2.8;

    double –

    zmienno-przecinkowy

    char * d;

    d – wskaźnik na znak

    char w [10];

    d=w;

    cout<<d[1];

    cout<<*(d+1)

    char

    znak

    Typy i zmienne referencyjne

     

    Typ & nazwa_zmiennej_refrencyjnej = nazwa_zmiennej;

     

     

    ·       Zmienna referencyjna jest to zmienna tożsama z inną zmienną np.:

    int zmienna_1;

    int& ref_zmienna_1 = zmienna_1;

     

    Zmienna zmienna_1 jest dostępna pod dwiema nazwami: zmienna_1 oraz ref_zmienna_1.

     

    ·     Referencja do stałej

    const int & ref_stała = 1;

    Zmienna ref_stała ma dostęp do wartości 1 umieszczonej w zmiennej tymczasowej.

     

    ·       Nie ma takich zmiennych referencyjnych:

    referencji do referencji np.                                                         float && a;

    wskaźników zmiennych referencyjnych np.               int & * wskaz_ref;

    tablic referencji np.                                                                       int & tab[10];

     

    Funkcje, deklaracje, definicje

    deklaracja fukcji = prototyp funkcji

     



    void fun (int , long& , const float& );

     

    void main ()

    {

      int i = 1;

      long j = 1;

      float k = 3;             

    // wywołanie funkcji

      fun(i, j, k);                                          /* wartość zmiennej i oraz k nie ulegnie zmianie po wykonaniu funkcji fun,

                                   natomiast wartość zmiennej j zmieni się i będzie równa  2*/

    //wywołanie funkcji

      fun(j, i, k);              /* Niebiepieczeństwo! - zmienna i typu int podstawiona pod parametr ref przekazywany jako parametr long przez referencję nie ulegnie zmianie, gdyż operacja została wykonana na zmiennej tymczasowej typu long (w Visual C++ - błąd)*/

    }

     

    //definicja funkcji

    Nagłówek funkcji

     







    Parametry funkcji (...)

    Nazwa funkcji

    Wynik funkcji

     

    Ciało funkcji {...}







     

    void fun (int wart, long& ref, const float& st)

     



    {

      wart++;              /*podczas wywołania funkcji f, wart++ zwiększa na stosie lokalną kopię pierwszego argumentu aktualnego - przekazywanie przez wartość*/

      ref++;                                          /*ref++ zwiększa wartość parametru aktualnego za pośrednictwem

    adresowania pośredniego - przekazywanie przez referencję polega na umieszczaniu adresu parametru aktualnego na stosie*/

      cout << st <<’\n’;              /*zmienna st przekazywana jest przez referencję, lecz nie

      można zmienić jej wartości*/

    }

     

    Zasięg deklaracji i widoczność zmiennych

    Zasięgi:

    ·       Lokalny 

    w bloku { } od miejsca definicji w bloku do końca bloku

     

    ·       Funkcji – dla etykiet zasięgiem jest funkcja

    Etykiety dla goto

    case

    default

     

    ·       Pliku

    Dla nazwy zdefiniowanej na zewnątrz wszystkich bloków funkcji zasięgiem jest cały plik od miejsca definicji do końca pliku – są to zmienne globalne

     

    Przykład

     





      int a;                                                        //zmienna globalna

      void fun();

     

    void main()

    {





                  int a;                                          //zmienna lokalna



    a=8;

    fun();

    }

     

    void fun()

    {



                  a=6;









                  int a;



                  a=2;

                  {





                                int a, b;





                                a=9;



                                b=89;

                  }



                  a=20;

                  //b=7;                            tutaj wystąpi błąd – zmienna b jest niezdefiniowana

    }

     

    Przekazywanie parametrów do funkcji przez wartość

      

    #include <stdio.h>

    #include <conio.h>

    void f_wartosc(int, int);

    void main()

    {

      int a=...

    [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • mement.xlx.pl
  • Designed by Finerdesign.com