Wskaźniki w C, Programowanie, wykłady C++


WSKAŹNIKI / ADRESY

Wskaźnik → jest zmienną, która zawiera adres (wskazanie) początku dowolnego obszaru w pamięci komputera,
(np. może być to adres obszaru danych lub adres kodu programu)

Ogólna postać definicji wskaźnika:

typ_danych identyfikator wskaźnika ;

Najczęściej używane są wskaźniki „zdefiniowane” zawierające adres innej zmiennej. Taki wskaźnik zawiera informację o:

Przykłady definicji:

int ∗ wskaznik; // wskaźnik na zmienną całkowitą

double ∗ wsk_liczby; // wskaźnik na zmienną rzeczywistą

char ∗ wsk_znaku; // wskaźnik na pojedynczy znak

char ∗ tekst; // wskaźnik na początek łańcucha znaków

(na pierwszy znak tego łańcucha)

Można również korzystać ze wskaźników „niezdefiniowanych” (anonimowych).
Taki wskaźnik zawiera tylko informację o adresie obszaru pamięci (bez określenia typu wskazywanych danych). Definicja takiego wskaźnika ma postać:

void identyfikator wskaźnika ;

jest to wskaźnik na „dowolny” ciąg bajtów danych.

Ze wskaźnikami i adresami związane są dwa operatory:

int liczba ;

int ∗wskaźnik ;

wskaznik = &liczba; // przypisanie zmiennej wskaźnik
// adresu zmiennej liczba

∗wskaźnik = 10; // przypisanie 10 zawartości zmiennej
// wskazywanej przez wskaźnik

// tutaj równoważne liczba = 10

Przykład :

#include <iostream>

#include <conio.h>

using namespace std;

int main()

{

int z=213;

int *w;

w=&z;

cout<<"&zmienna="<<&z<<endl;

cout<<"wskaznik="<<w<<endl;

cout<<"zmienna="<<z<<endl;

cout<<"*wskaznik="<<*w<<endl;

getch();

return(0);

}

#include <iostream>

#include <conio.h>

using namespace std;

int main()

{

int ti[6];

double td[6];

int *wi;

double *wd;

wi=&ti[0];

wd=&td[0];

cout<<"Oto jak przy inkrementacji wskażników\n"

<<"zmieniają się ukryte w nich adresy:\n";

for(int i=0;i<6;i++,wi++,wd++)

{

cout<<"i="<<i

<<")wi="

<<reinterpret_cast<unsigned int>(wi)

<<"'wd="

<< reinterpret_cast<unsigned int>(wd)<<endl;

}

cout << "\n------------------------------------------------\n";

system("pause");

return 0;

}



Wyszukiwarka

Podobne podstrony:
Podstawy programowania (wykład III)
Program wykładów 1 sem
Program wykładu Fizyka II
zasady zaliczeń PP IG, Politechnika Białostocka, ZiIP (PB), Semestr 1, Podstawy programowania, Progr
Program Wykładów I Semestru (30h) Starożytność str 1
program wykladow
00 program wykladu i literatura
Programowanie - wykłady, UE IiE ISIZ, programowanie
program wykładu z ps rozwoju SWPS, Ludwika Wojciechowska
Woroniecka Program wykładów z ekonomii, ekonomia _pochodzi od greckiego oiconomicos, oikos-dom, nomo
Program wykładów
Języki programowania wykłady
Obsługa plików, Programowanie, wykłady C++
Program wykładów z pomp, IŚ Tokarzewski 27.06.2016, V semestr COWiG, PKM (Podstawy konstrukcji mecha
Nauka administracji - program wykładu dra R. Giętkowskiego, PRAWO ADMINISTRACYJNE
Program wykładów 2 sem
LOGISTYKA transport program wykladu

więcej podobnych podstron