Policisté zadrželi odsouzeného drogového dealera Tomáše Jiřikovského, který daroval ministerstvu spravedlnosti za tehdejšího ministra Pavla Blažka (ODS) bitcoiny v miliardové hodnotě, a zajistili i darovanou kryproměnu. Zadržení Jiřikovského může být podle ministerstva důležité k rozuzlení kauzy, která vypukla koncem května a vedla ke konci Blažka. Zajištění daru podle úřadu potvrzuje závěry dříve publikovaných právních
… více »Administrativa amerického prezidenta Donalda Trumpa jedná o možném převzetí podílu ve výrobci čipů Intel. Agentuře Bloomberg to řekly zdroje obeznámené se situací. Akcie Intelu v reakci na tuto zprávu výrazně posílily. Trump minulý týden označil Tana za konfliktní osobu, a to kvůli jeho vazbám na čínské společnosti, čímž vyvolal nejistotu ohledně dlouholetého úsilí Intelu o obrat v hospodaření. Po pondělní schůzce však prezident o šéfovi Intelu hovořil příznivě.
Společnost Purism stojící za linuxovými telefony a počítači Librem má nově v nabídce postkvantový šifrátor Librem PQC Encryptor.
VirtualBox, tj. multiplatformní virtualizační software, byl vydán v nové verzi 7.2. Přehled novinek v Changelogu. Vypíchnou lze vylepšené GUI.
Eric Migicovsky, zakladatel společnosti Pebble, v lednu oznámil, že má v plánu spustit výrobu nových hodinek Pebble s již open source PebbleOS. V březnu spustil předprodej hodinek Pebble Time 2 (tenkrát ještě pod názvem Core Time 2) za 225 dolarů s dodáním v prosinci. Včera představil jejich konečný vzhled (YouTube).
Byla oznámena nativní podpora protokolu ACME (Automated Certificate Management Environment) ve webovém serveru a reverzní proxy NGINX. Modul nginx-acme je zatím v preview verzi.
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Společnost Perplexity AI působící v oblasti umělé inteligence (AI) podala nevyžádanou nabídku na převzetí webového prohlížeče Chrome internetové firmy Google za 34,5 miliardy dolarů (zhruba 723 miliard Kč). Informovala o tom včera agentura Reuters. Upozornila, že výše nabídky výrazně převyšuje hodnotu firmy Perplexity. Společnost Google se podle ní k nabídce zatím nevyjádřila.
Intel vydal 34 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20250812 mikrokódů pro své procesory řešící 6 bezpečnostních chyb.
Byla vydána nová verze 1.25 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
Řešení dotazu:
Ale když je hvězdička za typem char, co to znamená?C ignoruje mezery, tudíž následující 3 řádky jsou ekvivalentní:
char *a char* a char * aZ hlediska chování je IMHO nejlogičtější
char *a
(kvůli problémům typu int *a, b
), ale ve zdrojácích najdete všechny 3 způsoby.
Jinak, co znamená int set(char* in, char** out)
záleží na kontextu, protože buď může být vstupem řetězec znaků nebo odkaz na jediný znak (což je sice z pohledu C totéž, ale logicky je to něco jiného).
int getstringcopy(char *src, char **dst) { *dst=malloc(1+strlen(src)); if (*dst) { strcpy(*dst,src); return 1; } else return 0; } char *src="foo"; char *out=NULL; if (getstringcopy(src,&out)) { printf("podarilo sa"); .... free(out); }Skratka v tom výstupnom parametri nie je jednoduchý typ, ale pointer.
char * vstup = "abcde"; char * vystup; int odp; ... odp = set(vstup, &vystup); printf("%s -> %s\n", vstup, vystup); // pokud by byl pouze set(char *, char *), tak // by to typicky vypadalo nějak takhle char vystup[50]; // resp. vhodná konstanta pro max. velikost odp = set(vstup, vystup); printf("%s -> %s\n", vstup, vystup);A rozhodně doporučuji si přečíst v nějaké učebnici, jak ty ukazatele doopravdy fungují, protože příklady mohou být dost zavádějící.
i++ + j
a
i + ++j
znamená něco dost jiného a rozdíl působí právě ty mezery.
Parsování C lze popsat tak, že se prostě berou znaky, dokud z nich lze vytvořit platný token jazyka (identifkátor, operátor, číslo, etc.). Až to přestane jít, ať už proto, že se narazí na mezeru nebo na něco jiného, co se nehodí, tak se ten token ukončí a začnou se zase znovu brát znaky, dokud něco dávají. Tudíž
i+++j
je ekvivalentní s první ukázkou, nikoli s druhou.
Dvě hvězdičky znamenají prostě pointer na pointer. Tři pointer na pointer na pointer, etc.
Je-li výstupem prostě řetězec, tak to ta funkce třeba alokuje. Tudíž má ,výstupní` parametr typu char*, ale jelikož ho modifikuje, předává se pointer na tohle, což je char**.
int set(char* in, char** out)
novy string vo svojom tele, ktory potom ziskas cez out ? nieco ako:
char* msg = "hello, world";
char* out;
..
set (msg, &out);
..
kde set vola niekde v tele
int set(char* in, char** out)
{
..
char* buf= malloc( ..
..
*out = buf;
..
}
pisem z hlavy, chyby tam byt mozu .. ale principialne si take cosi nerobi
Tiskni
Sdílej: