Citiraj:
Originally posted by akegalj
kuzim to, ali sto mene zanima jest hoce li on ovdje kreirati pokazivac na "ponedjeljak" odnosno na 'p' ili ce vratiti polje pokazivaca( sto bi i trebalo znaciti *a[])!!?
:confused: kuzis!? Ili ce vratiti pokazivac na 'p' ili ce vratiti pokazivac na polje pokazivaca( koji zapravo pokazuju na pocetke svih stringova 'p', 'u', 's', 'c')
|
Ne, ne kužim šta ti nije jasno. Ti si kreirao pokazivač na dvodimenzionalno polje i točka. Drugo te ništa ne zanima, niti šta je u njemu niti koliko je! Sad preko toga pointera možeš ako hoćeš pristupiti bilo kojoj vrijednosti u tome polju pa i kompletnim stringovima. Za tebe dalje u radu nema nikakave razlike da li si kreirao obično dvodimenzialno polje ili pointer, dalje radiš normalno tako da ne znam ćemu tolika pitanja. Želiš ispisati kompletan string, super pristupiš preko *a (u primjeru ispišeš "ponedjeljak"), želiš samo prve stringove super i to pristupaš preko *a[0], *(a+1)[0] itd. Šta biš još htio raditi sa poljima? I druga stvar u 2.g rada nisam još došao u tu situaciju da koristim pointer na dvod. polja. Ima elegantnijih načina da se kodira...
Citiraj:
Originally posted by akegalj
a sto se ovoga tice, mi smo u ova oba primjera gore i ovaj pridruzivali dvodimenzionalno polje pokazivacu, pa zasto onda u ovom drugom primjeru moramo naglasiti * uz b ... (*b)[]
=>po pravilu [] ima veci prioritet od * pa zbog toga, ali onda ni u gornjem primjeru po mome nismo smijeli!!
[/B]
|
NE, jer poljima nepoznate veličine ne možeš na taj način kreirati pointer. Prvo se polje kreira u memoriji a onda se kreira pointer *a na njega. dok ti sa (*a)[4] znaš dimenzije polja pa odmah rezerviraš prostor.
Citiraj:
Originally posted by akegalj
ps. mislim da ti je *(a+1) == a[1] kod tvojih primjera [/B]
|
Jasno, kad direktno pristupaš na adresu polja. Nisam htio da zbuni nekoga.