Inne działy

 

 

Język C operowanie na wskaźnikach

 

By stworzyć wskaźnik do zmiennej i móc się nim posługiwać należy przypisać mu odpowiednią wartość (adres obiektu, na jaki ma wskazywać). Skąd mamy znać ten adres? Wystarczy zapytać nasz komputer, jaki adres przydzielił zmiennej, którą np. wcześniej gdzieś stworzyliśmy. Robi się to za pomocą operatora & (operatora pobrania adresu). Przeanalizuj
następujący kod:

 

#include <stdio.h>
int main (void)
{
int liczba = 80;
printf("Zmienna znajduje sie pod adresem: %p, i przechowuje wartosc: %d\n",
(void*)&liczba, liczba);
return 0;
}

 

Program ten wypisuje adres pamięci, pod którym znajduje się zmienna oraz wartość jaką kryje zmienna przechowywana pod owym adresem. Aby móc zapisać gdzieś taki adres należy zadeklarować zmienną wskaźnikową. Robi się to poprzez dodanie * (gwiazdki) po typie na jaki zmienna ma wskazywać, np.:


int *wskaznik1;
char *wskaznik2;
float*wskaznik3;


Aby dobrać się do wartości wskazywanej przez wskaźnik należy użyć unarnego operatora *(gwiazdka), zwanego operatorem wyłuskania:

 

#include <stdio.h>
int main (void)
{
int liczba = 80;
int *wskaznik = &liczba;
printf("Wartosc zmiennej: %d; jej adres: %p.\n", liczba, (void*)&liczba);
printf("Adres zapisany we wskazniku: %p, wskazywana wartosc: %d.\n",
(void*)wskaznik, *wskaznik);
*wskaznik = 42;
printf("Wartosc zmiennej: %d, wartosc wskazywana przez wskaznik: %p\n",
liczba, *wskaznik);
liczba = 0x42;
printf("Wartosc zmiennej: %d, wartosc wskazywana przez wskaznik: %p\n",
liczba, *wskaznik);
return 0;
}

 

 

Zobacz nasze wszystkie kursy

WWW


HTML
HTML - Znaczniki
CSS - Tutorial
CSS - Selektory
PHP
JavaScript

XML

XSLT

Bazy danych


SQL
SQLite
MySQL
PostgreSQL

 

 

Programowanie


C
C++
C#
Java
VisualBasic
Python

Linux


Podstawy Linuxa
Bash
Linuks artykuły

Windows


Excel funkcje
Windows wskazówki
Outlook

Pozotałe działy


Programy
Rozrywka

 

 

 

This email address is being protected from spambots. You need JavaScript enabled to view it.