Po 1 nie wiem jak się uczyłeś, ale nie rozpowszechniaj takich bzdur dobrze?
Po 2 zmienne w tym sensie co Ty przedstawiłeś definiujemy a nie deklarujemy. Jest różnica między tymi pojęciami.
Po 3
jak już chcesz tak pisać to uważaj na słownictwo. Nie ma czegoś takiego jak OBSZAR PAMIĘCI, jak już to komórka pamięci i nie jest to język prosty jeśli chodzi o tłumaczenie czegoś zielonym.Najprościej ujmując zmienna jest to obszar ulokowany w pamięci komputera przechowywujący dane różnego typu
Po 4
rozumiem, ze inicjacja seksualna tak? Zmienne się inicjALIZuje. Poza tym to jest przypisanie do zmiennej wartości a nie zainicjalizowanie jej.Inicjacja:
Pierwsze przypisanie wartości do zmiennej po jej utworzeniu:
new zmienna;
zmienna = 1;
Po 5
zero jest logicznym fałszem więc jest wartością mój drogi.Przy ich tworzeniu automatycznie ustawiane są na 0( nie przechowywują żadnych danych, są po prostu puste)
Po 6
zmienna może Ci co najwyżej przechować jeden znak. Teraz czas na małą zabawę. Jestem zielony i czytam to co napisałeś w nawiasie. Tworzę coś takiegoString:
Zmienna przechowywująca string - ciąg znaków. Po nazwie wystarczy dodać dwa nawiasy(lub więcej w zależności jaką tablice chcemy stworzyć)
Deklaracja:
new zmienna[ilosc_znakow_tablicy];
new a[[[[[[[[2]]]][[]]][[]]]]];, zrobiłem tak bo napisałeś to bardzo skrótowo i tym samym nie zrozumiale dla noobków.
Po 7
w PAWN nie ma TYPÓW zmiennych, są tylko tagi.W Pawnie można spotkać następujące typy zmiennych:
Po 8
kiedy świnie zaczną latać. Takie coś (bo nie mam pomysłu jak to nazwać) wywoła tylko błędy i nic więcej. Jeśli nie wiesz czym jest stock to nie pisz o tym dobrze?Stock:
Wiele osób używa je, ale tak naprawdę nie wie jak one działają. Zmienne te są tworzone tylko wtedy, jeżeli są używane, w innym wypadku kompilator je ignoruje. Zazwyczaj używane w plikach nagłówkowych .inc .
Deklaracja:
stock zmienna;
Już mi się nie chce wyliczać, znudziło mi sie
Wyjaśniłeś to bardzo pobieżnie. Nie wspomniałeś jaka różnica miedzy stałą a makrodefinicją, nie wspomniałeś dlaczego w pewnych sytuacjach stosowanie makrodefinicji jest mniej praktyczne niż stałych. Mały przykładStałe:
Działają tak samo jak zmienne, lecz zmienną ich nie można nazwać gdyż byłaby to kompletna sprzeczność. Różnią się tym, że poprzez cały czas mają jedną wartość, która zostanie im przypisana, nie można na nich wykonywać żadnych operacji oprócz pobierania ich wartości. Przy tworzeniu przed nazwą trzeba dodać przedrostek 'const'
Makrodefinicje:
Bardzo podobne do zmiennych, działają na zasadzie "niech X będzie Y". Tak więc jeżeli do makrodefinicji X przypiszemy Y każdorazowe wpisanie w kodzie X skutkuje wywołaniem Y. Programiści używają ich najczęściej aby zaoszczędzić sobie wpisywania długich nazw funkcji, lub ścieżek do plików. Nie ma ograniczeń co do typu przechowywanych w nich danych. Tworzenie:
new const a = 2 + 2; #define WYNIK 2+2 printf(" Wynik 1: %i\n Wynik2: %i", (a * 2), WYNIK * 2 );
W 1 przypadku wynikiem bedzie 8, w drugim 6. Dlaczego? Bo kompilator zastępuje każda definicję jej wartością.
Trochę już zmęczony jestem.
Nigdy więcej nie patrz na mnie takim wzrokiem
Nigdy więcej nie miej takich zimnych oczu
Pozdrawiam.
Dziękuję, dobranoc
D.