enum { Float:pi = 3.14 }jest zatem zapisem błędnym.
PS. Nazwa tematu jest zależna od Ciebie. Niestety nie można wszystkiego wyjaśnić w prosty sposób (wówczas zawsze powstaną niedopowiedzenia).
To równanie zostało stworzone przy pomocy kodu LaTeX:
Edytor LaTeX online: CodeCogs.com/latex/eqneditor.php
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
destrojer nie posiada znajomych
Napisane przez destrojer w 11.03.2010 20:08
enum { Float:pi = 3.14 }jest zatem zapisem błędnym.
Napisane przez destrojer w 11.03.2010 19:48
Enum to odpowiednik typu wyliczeniowego z np. takiego C++. To o czym napisałeś można odnieść do stałych ewentualnie makrodefinicji.enum to jest sprytny sposob by zamiast korzystac z niewygodnych cyft, zmienic je w wiecej nam mowiace nazwy.
PAWN ma wiele wlasnych enum'ow ktore pozwalaja nam np. zamiast stosowac niewygodnych id broni 22, stosowac CSW_M4A1.
enum nazwa { //nazwy_stalych } new tablica[nazwa];
enum nazwa { //nazwy_stalych } new tablica[nazwa]; printf("%d", sizeof(tablica));
Ale można "pokazac" o ile ma zmieniać sie domniemana wartość stałych (domyślnie jest to += 1).Jest to oczywiste, ze dziesiec ma wartosc 10, dwadziescia ma wartosc 20 i czterdziesci ma wartosc 40. Ale na co trzeba zwrocic uwage, to trzydziesci ma wartosc 21!. enum nie dziala jak exel, ze sam wie o ile sie zmieniaja kolejne wartosci.
enum (+=10) { z, x, c, v }; printf("%d", c);
enum nadaje wartość stałym (nie słowom, samo słowo to tylko odwołanie do komórki pamięci) poprzez domniemanie.enum zamienia liczby na słowa ...
Nie możesz dać tam liczb.
Napisane przez destrojer w 24.02.2010 23:19
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
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;
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)
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.
w PAWN nie ma TYPÓW zmiennych, są tylko tagi.W Pawnie można spotkać następujące typy zmiennych:
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;
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 );