Pointer na char array – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pointer na char array – C / C++ – Fórum – Programujte.comPointer na char array – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
oxidián0
Grafoman
6. 8. 2017   #1
-
0
-

Řádek 3:  pEnd = buf;
Warning: assignment makes integer from pointer without a cast

int readfile(char * name, int skip, char * buf, int bufLen, int shift ){
    char * s, pEnd, pStart, pMSB2start, pLSB16start;
    pEnd = buf;

...}

void readfiles(FILES * files){
    char filename[400];
    char rowBuf [ROW_LENGHT];
    memset ( rowBuf, 0, ROW_LENGHT );
...
readfile(filename, 14, rowBuf, bufLen, shift);
}

Alternativně pokus:

pEnd = *buf;

přidám tam breakpoint a kukátko

buf: 0x22e58f "<p>Lorem ipsum dolor sit amet ... na ."

60 '<' ....

Potřebuji nastavit pEnd na stejnou adresu. Zkoušel jsem

pEnd = &buf;

a taky nic.

Vypadá to že hádám, ale stránku o pointerech (cplusplus tutorial) jsem si znovu přečetl a zas nechápu kde je chyba. Já myslel že když dám pEnd = buf tak to bude ukazovat na stejnou adresu.

Nahlásit jako SPAM
IP: 78.102.61.–
gna
~ Anonymní uživatel
1891 příspěvků
6. 8. 2017   #2
-
+1
-
Zajímavé

Takhle je jen to 's' ukazatel na char. Zbytek je char. Je potřeba přidat hvězdičku i k těm dalším proměnným.

char *s, *pEnd, *pStart...
Nahlásit jako SPAM
IP: 213.211.51.–
oxidián0
Grafoman
6. 8. 2017   #3
-
0
-

#2 gna
Díky moc

Nahlásit jako SPAM
IP: 78.102.61.–
KIIV
~ Moderátor
+43
God of flame
6. 8. 2017   #4
-
0
-

Kazdopadne je to osklivej zlozvyk, davat vicero deklaraci do jedne. Informace o tom, ze je to pointer patri spise k datovemu typu (a pak se to neda seskupovat, ale to je na tom to lepsi):

char* s = NULL;
char* pEnd = buf; // za predpokladu ze uz je buf validni
// ...

Kazdopadne co ctu tvoje prispevky, tak velice intenzivne pouzivas snad veskere "blbe navyky" co existujou. Jestli to mas z nejake knizky, rovnou ji zahod :D

Nahlásit jako SPAM
IP: 37.188.159.–
Program vždy dělá to co naprogramujete, ne to co chcete...
7. 8. 2017   #5
-
0
-

Pokud pro pozdější použití si funkce nemusí pamatovat hodnotu ukazatele, která byla předána při volání funkce,  není nutné ukazatel kopírovat. Při volání funkce se vytvářejí kopie parametrů a s těmito kopiemi lze uvnitř funkce manipulovat jako s proměnnými. Tyto kopie zanikají při návratu funkce.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 74 hostů

Podobná vlákna

Is the pointer to the array — založil Montezo

Pointer na char — založil _Radek_

Static const char array[] .. — založil kruciik

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý