Ajuda amb quadres C i punters

M

m_t_blind

Guest
Quan tenim un 1-taula de dimensions, per exemple,,

m char [2],
is a char type pointer to the first element of the table.ok.

el nom de la taula m
es un punter de tipus char al primer element de la table.ok.
Quan tenim una taula de múltiples dimensions, per exemple,

char m2 [10] [2],
for this.

He descobert que el nom Oi que un punter vàlid, i l'ús de R & M [0] [0]
per a això.
(Això en el compilador IAR per MSP)

1.My primera qüestió és que aquest és l'adequat per a general en C, o simplement esperin la lectura i en el compilador específic?
):

2.And la meva següent pregunta és (per a la taula m2):
points the m2[0][2]
?

El punter * (& m2 [0] [0] 10)
punts, el m2 [0] [2]?

Si no ¿per què?

 
Hola m_t_blind,
Comanda La meva explicació:
[2]char m2 [10]
[2]

Prenguem la part subratllada de ser el "nom" d'una matriu.Després, anteposant el caràcter i adjuntar els 2 [] tenim una matriu de 10 caràcters.

is itself an array indicating that there are 10 elements each being an array of 2 characters.

No obstant això, el nom m2 [10]
és en si mateixa una matriu que indica que hi ha 10 elements cada un de ser una matriu de 2 caràcters.Per tant tenim una matriu de 10 matrius de 2 caràcters cadascun.
is wrong.

* (& M2 [0] [0] 10) punts, el m2 [0] [2],
és errònia.

que apunta a m2 [5] [0].
actually it takes the address of the first element
.

Això és perquè, quan vostè diu & m2 [0] [0]
en realitat es pren la direcció del primer element.to this, it will add 10*sizeof(char)
to that address.

I quan s'agrega 10 d'aquest,
s'afegiran 10 * sizeof (char)
a aquesta direcció.Així que, finalment, pionts a m2 [5] [0].(ho sento per aquest error .. gràcies Silvio)Cheers ...
Last edited by sinu_gowde el 03 Feb 2006 9:16, editat 2 vegades en total,

 
m_t_blind va escriure:1.My primera qüestió és que aquest és l'adequat per a general en C, o simplement esperin la lectura i en el compilador específic?

 
Veure també els comentaris comp.lang.c Preguntes sobre matriu front punter:
http://c-faq.com/aryptr/index.html

 
Crec que vostè necessita per comprendre la base de la matriu i els punters ...quan diuen u m [10] ..no importa si el seu char declarat o int o doble ..vostè és just allocationg un tros de la memòria i que té el nom o ..i m [0] serà el primer element de la matriu ..i cada vegada que necessiten o declarar i el punter es declaren explícitament com a punt de int *, etc.

en la mesura KNW i c. ..només estudiar la base de la matriu C i els punters ..U serà ben ..el punter és molt poderosa o pot caiguda del sistema amb ella!

<img src="http://www.edaboard.com/images/smiles/icon_idea.gif" alt="Idea" border="0" />
si o necessitat Com reservar en línia c arleady pujar-lo a rapidshare ..Aquí està l'enllaçh ** p: / / rapidshare.de/files/12360722/C-K_R-Material.pdf.html

 
Yeap ..dient que és ur .. rituno existeix el concepte de matriu 2D al c /.Què és el que es pot tenir múltiples matriu bidimensional i més llarg que forma en la qual els elements estan disposats en la memòria està en la forma d'una única ranura ..com vostès saben ..(sota C Turbo) sencer ocupa 2 bytes i té caràcter de 1 byte .. cada ranura de memòria s'assigna amb 2 bytes de memòria / 1 byte per al caràcter i * (& a [0] [0] 10) és igual a * ( assignació de memòria de primera 10 places que és d'1 byte cadascun) de manera que finalment de-referències i l'imprimeix ..

With Regards,
Arun

 
ok gràcies a tots, (i perdó per l'error de m2 [0] [2] whitch no existeix, em refereixo m2 [0] [1])

 
Vull crear una matriu de caràcters i voleu trucar a missatges com aquest:
missatge [0 ]---> per primer missatge
messsage [1] ---> Missatge de segon i així successivament ...
Com puc fer això?

 
Vols creat matriu d'indicadors que apunten a l'arranjament de char ...U pot veure per follwoing diagrames ...
Malauradament, cal iniciar una sessió per veure aquest arxiu adjunt

 

Welcome to EDABoard.com

Sponsor

Back
Top