695
edycji
Nie podano opisu zmian |
(zbędne spacje, usunięcie interwiki - teraz na Wikidanych, drobne poprawki techniczne) Znacznik: Edytor kodu źródłowego 2017 |
||
{| class="wikitable
|+ Podstawy wskaźników <ref>[http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-088-introduction-to-c-memory-management-and-c-object-oriented-programming-january-iap-2010/lecture-notes/MIT6_088IAP10_lec02.pdf
! symbol !! znaczenie !! użycie
|-
== Dostęp do wskazywanego obiektu ==
Aby dobrać się do wartości wskazywanej przez wskaźnik, należy użyć unarnego operatora '''<code>*</code>''' (gwiazdka), zwanego '''operatorem wyłuskania'''. Mimo, że kolejny raz używamy gwiazdki, oznacza ona teraz coś zupełnie innego. Jest tak, ponieważ używamy jej w zupełnie innym miejscu: nie przy deklaracji zmiennej (gdzie gwiazdka oznacza deklarowanie wskaźnika), a przy '''wykorzystaniu''' zmiennej, gdzie odgrywa rolę operatora, podobnie jak operator & (pobrania adresu obiektu). Program ilustrujący:
<source lang="C">
#include <stdio.h>
===Wycieki pamięci ===
Przykład funkcji powodującej wyciek pamięci ( tworzy wskaźnik, przydziela pamięć i nie zwalnia pamięci po zakończeniu funkcji)
<source lang=c>
Powinno być
<source lang=c>
Inne przykłady:<ref>[http://codegolf.stackexchange.com/questions/24485/create-a-memory-leak-without-any-fork-bombs
Do znajdowania wycieków pamięci możemy użyć programów
*[[Programowanie_w_systemie_UNIX/Valgrind|Valgrind]]
* [[C/Wskaźniki - więcej|Więcej o wskaźnikach]]
* [[Programowanie w systemie UNIX/Memory|Pamięć z punktu widzenia programowania]]
{{przypisy|przypisy=
[[C/Napisy|Napisy]]|
}}
</noinclude>
|