Computer Games Forum
 

Go Back   Computer Games Forum > Tech > The Workshop > Limbaje de programare

Notices

Căutare produse PC Garage: Şterge căutarea

Reply
 
LinkBack Thread Tools
Old 28-11-2006, 16:44   #1 (permalink)
--xenite--
 
Dukatu's Avatar
 
Join Date: Dec 2000
array c++

sal,

deoarece nu am mai avut tangente cu C-ul de f mult timp, am o mica intrebare: probabil k imi amintesc eu prost, dar nu era ceva de genul, sau in anumite situatii, cand a[i] putea fi apelat si prin i[a] ? stiu sigur ca era ceva de genul dar nu reusesc sa imi amintesc si nici cum sa caut....
 
Dukatu is offline    Reply With Quote
Old 28-11-2006, 16:58   #2 (permalink)
Bean Bachine
 
Comanche's Avatar
 
Join Date: Sep 2004
Location: Bucuresti
Nu cred că există aşa ceva. Adică să poţi spune 2[a] de exemplu?

Şi oricum, nu prea văd ce utilitate practică ar avea o asemenea expresie. Dacă ştii a şi i, nu e suficient să poţi face a[i]? De ce am nevoie de 2 expresii echivalente? Mă rog, să zicem că 2 echivalente oricum ar fi, că putem face "a+i" dacă lucrăm cu pointeri. Dar deja o a treia nu e prea mult?
__________________
d*L*b
 
Comanche is offline    Reply With Quote
Old 28-11-2006, 17:10   #3 (permalink)
Registered User
 
ionutV's Avatar
 
Join Date: Nov 2005
Location: Iasi
*(a+i) mai exact, daca vrei sa obtii valoarea de la adresa respectiva.
 
ionutV is offline    Reply With Quote
Old 28-11-2006, 17:12   #4 (permalink)
--xenite--
 
Dukatu's Avatar
 
Join Date: Dec 2000
pai si daca facem *(i+a) nu e the same ? deci i[a] ?

Last edited by Dukatu; 28-11-2006 at 17:23..
 
Dukatu is offline    Reply With Quote
Old 28-11-2006, 17:23   #5 (permalink)
Bean Bachine
 
Comanche's Avatar
 
Join Date: Sep 2004
Location: Bucuresti
ionutV, evident.

Dukatu, nu poţi face i+a pentru că expresia se evaluează de la stânga la dreapta, şi va rezulta că i e pointerul şi a deplasamentul, lucru fals.

Vezi tu, în programarea cu pointeri comutativitatea adunării nu mai e valabilă
__________________
d*L*b
 
Comanche is offline    Reply With Quote
Old 28-11-2006, 17:24   #6 (permalink)
RAN
Registered User
 
Join Date: Mar 2004
a[i] inseamna adresa lui a, plus valoarea lui i
i[a] inseamna adresa lui i, plus valoarea lui a, care nu e acelasi lucru

LE: ba da, e acelasi lucru. Mascatu, mai gandeste-te un pic, am facut aceiasi gresela. Deci a[i] saui i[a] tot aia e

Last edited by RAN; 28-11-2006 at 17:37..
 
RAN is offline    Reply With Quote
Old 28-11-2006, 18:41   #7 (permalink)
--xenite--
 
Dukatu's Avatar
 
Join Date: Dec 2000
intr-adevar, asa e am gasit ceva despre asta aici: Chapter 4

multzam!
 
Dukatu is offline    Reply With Quote
Old 28-11-2006, 19:54   #8 (permalink)
Registered User
 
Join Date: Jan 2002
Location: Ascending the Planes
Mai, pe site-ul ala scrie ca e doar o curiozitate, ceea ce e cam fals zic eu. Discutia daca pointer-ii sunt acelasi lucruri cu vectorii e lunga si imbarligata, dar dupa cum s-a zis mai sus, a[i] si i[a] indica acceasi adresa in memorie. Si daca vrei sa te dai mare poti oricand sa scrii 6[5[a]] in loc de a[5][6], 6[5[0[a]]] in loc de a[0][5][6], sau ++6[5[0[a]]] in loc de a[0][5][6]++.

Vezi si aici:Arrays. Un tutorial bun zic eu.
__________________
Twisted and perverse are the ways of the human mind.

Speaker for the Dead,
Orson Scott Card
 
Nemesis is offline    Reply With Quote
Old 29-11-2006, 16:06   #9 (permalink)
Bean Bachine
 
Comanche's Avatar
 
Join Date: Sep 2004
Location: Bucuresti
Mai rămâne să aflu că merge şi în Java tâmpenia asta şi mă las de programare.
__________________
d*L*b
 
Comanche is offline    Reply With Quote
Old 29-11-2006, 16:18   #10 (permalink)
Registered User
 
ionutV's Avatar
 
Join Date: Nov 2005
Location: Iasi
Quote:
Originally Posted by Comanche View Post
Mai rămâne să aflu că merge şi în Java tâmpenia asta şi mă las de programare.
Subscriu. E bine totusi ca mai aflam lucruri noi, dar sincer nu vad practic de ce ai folosi o constructie de genul i[a].
 
ionutV is offline    Reply With Quote
Old 29-11-2006, 16:34   #11 (permalink)
RAN
Registered User
 
Join Date: Mar 2004
De ce, de ce...pt ca poti
Mascatu, nu nu merge in java. Acolo nu exista pointeri.
 
RAN is offline    Reply With Quote
Old 29-11-2006, 17:07   #12 (permalink)
Bean Bachine
 
Comanche's Avatar
 
Join Date: Sep 2004
Location: Bucuresti
La suprafaţă. În spate cu adrese de memorie lucrează, că doară nu cu găleţi de apă.
__________________
d*L*b
 
Comanche is offline    Reply With Quote
Old 29-11-2006, 17:12   #13 (permalink)
RAN
Registered User
 
Join Date: Mar 2004
Evident, doar ca nu ai acces la pointeri, si array-urile sunt cu totul alta mancare de peste in java.
 
RAN is offline    Reply With Quote
Old 29-11-2006, 17:14   #14 (permalink)
Bean Bachine
 
Comanche's Avatar
 
Join Date: Sep 2004
Location: Bucuresti
Păi da, de-aia ziceam. Mai rămâne să aflu vreo tâmpenie d-asta în Java
__________________
d*L*b
 
Comanche is offline    Reply With Quote
Old 29-11-2006, 17:35   #15 (permalink)
Registered User
 
Join Date: Jan 2002
Location: Ascending the Planes
Eh, si in Java se pot face niste chestii de sa te iei cu mainile de cap. A se studia in special package-ul Reflection. Ca e nebunie sau chestie über-cool, depinde de perspectiva .
__________________
Twisted and perverse are the ways of the human mind.

Speaker for the Dead,
Orson Scott Card
 
Nemesis is offline    Reply With Quote
Old 29-11-2006, 17:37   #16 (permalink)
Bean Bachine
 
Comanche's Avatar
 
Join Date: Sep 2004
Location: Bucuresti
Reflection-ul e uber cool, IMO, şi măcar e trecut în manual.
__________________
d*L*b
 
Comanche is offline    Reply With Quote
Advertisment
Reply

  Computer Games Forum > Tech > The Workshop > Limbaje de programare

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT +2. The time now is 23:04.


Advertisement System V2.5 By   Branden
This site is copyrighted ©1997 - 2008, Computer Games Online SRL