Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Ile zwróci sizeof?


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
6 odpowiedzi w tym temacie

#1 KillerBee

    Banned

  • Zbanowany

Reputacja: 6
Nowy

  • Postów:36
  • Lokalizacja:Rzeszów
Offline

Napisano 21.01.2014 22:28

Witam jesli zmienna mam np.

 

new static nowa_zmienna[][] = {

"cos1",

"cos2",

"cod3",

"cod4"

}

 

i i chce pozniej uzyc np.

 

new ile

 

ile++

 

if(ile >= sizeof(nowa_zmienna) - 1) { // kod }

 

to zwroci mi 3 czy 2?


Użytkownik KillerBee edytował ten post 21.01.2014 22:29


#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 21.01.2014 22:40

4
  • +
  • -
  • 0

#3 KillerBee

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 6
Nowy

  • Postów:36
  • Lokalizacja:Rzeszów
Offline

Napisano 21.01.2014 22:41

czemu 4? dodalem  - 1 wiec powinno odjac

 

a jak dam charsmax(nowa_zmienna) to bedzie 3?


Użytkownik KillerBee edytował ten post 21.01.2014 22:44


#4 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 22.01.2014 08:01

https://forums.allie...ad.php?t=135799

 

Tam jest wyjaśnione.


  • +
  • -
  • 0

#5 KillerBee

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 6
Nowy

  • Postów:36
  • Lokalizacja:Rzeszów
Offline

Napisano 22.01.2014 09:03

czyli jak uzyje

 

new ile

ile++

 

for(new i = 0; i < charsmax(nowa_zmienna); i++)
if(ile >= i) ile = 0;

 

to zmienna i zwroci mi 0, 1, 2, 3 (rozmiar tablicy - 1)?



#6 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 22.01.2014 09:15

czyli jak uzyje
 
new ile
ile++
 
for(new i = 0; i < charsmax(nowa_zmienna); i++)
if(ile >= i) ile = 0;
 
to zmienna i zwroci mi 0, 1, 2, 3 (rozmiar tablicy - 1)?

Nie, sizeof zwraca rozmiar tablicy, więc nie, a charsmax rozmiar tablicy - 1, ale charsmax raczej wypadało by używać tylko do jednowymiarowej tablicy znaków, ale nie jest to jakaś reguła.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#7 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 22.01.2014 09:40

Spytałeś o to ile zwróci sizeof , siezof zwróci 4 co robisz potem z tym ( odejmujesz , dodajesz , i inne cuda ) to już inna sprawa
 
PS. 4 - 1 = 3 
 
Charsmax to tak naprawdę prosta makrodefinicja 
#define charsmax(%1)  sizeof( %1 ) - 1 

  • +
  • -
  • 2




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych