Dotaz C

Miroslav Mraz mrazik na volny.cz
Neděle Leden 7 14:05:38 CET 2018


To není blbý dotaz. Patrně jde o překlep, mě se to taky stává když 
alokuji prostor pro c-string jednou na haldě a podruhé na zásobníku. 
Opravte to tak, jak to považujete za správné.

Mrazík

Dne 7.1.2018 v 13:39 Pavel Troller napsal(a):
> Zdravím,
>    při neděli malý blbý dotaz... Zase jednou typická C vlastnost typu
> "ať je tam hvězdička nebo není, dělá to totéž :-)".
> 
> Mějme tento example:
> 
> #include <stdio.h>
> #include <string.h>
> 
> int main(void) {
>          char str[80];
>          snprintf(str,80,"%s","Nazdar ahoj\n");
>          printf("%s",str);
>          return 0;
> }
> 
> Vše jasné, funguje jak má.
> 
> A nyní změníme řádek s deklarací str na:
> 	char *str[80];
> 
> Kompilátor sice warninguje o nesprávném typu 1. parametru pro snprintf,
> že to má být char * a je to char **, ale zkompiluje to, binár je stejně
> velký a stejně funkční :-). Nicméně disassembly kódu ukazuje, že je to
> zkompilované mírně odlišně.
>    Ptám se proto, že tu cosi kompiluji (není to můj produkt), hlásí mi
> to ten warning, tak jsem to začal zkoumat, mají tam tu druhou možnost
> s hvězdičkou, tak uvažuji, proč ji tam mají a zda to mám přepsat na tu
> první, jak bych to udělal já :-).
> 
> Zdraví Pavel
> 
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
> 


Další informace o konferenci Hw-list