Nezisková organizace Electronic Frontier Foundation (EFF) hájící občanské svobody v digitálním světě po téměř 20 letech opouští platformu X (dříve Twitter). Na platformách Bluesky, Mastodon, LinkedIn, Instagram, TikTok, Facebook, Threads a YouTube zůstává.
Terminálový textový editor GNU nano byl vydán ve verzi 9.0. Vylepšuje chování horizontálního posouvání pohledu na dlouhé řádky a chování některých klávesových zkratek. Více v seznamu změn.
Ministerstvo financí ve spolupráci s finanční správou dnes představilo beta verzi aplikace využívající umělou inteligenci pro předvyplnění daňového přiznání. Není třeba přepisovat údaje z různých potvrzení, ani hledat správné řádky, kam údaje napsat. Stačí nahrát dokumenty a využít AI.
Výrobce počítačových periferií Keychron zveřejnil repozitář se schématy šasi klávesnic a myší. Licence je restriktivní, zakazuje většinu komerčních užití a v podstatě jsou tak data vhodná pouze pro výukové účely, hlášení a opravy chyb, případně výrobu vlastního příslušenství.
Správce balíčků APT, používaný v Debianu a odvozených distribucích, byl vydán ve verzi 3.2 (seznam změn). Mezi novinkami figurují nové příkazy pro práci s historií, včetně vracení transakcí.
Společnost Anthropic oznámila Projekt Glasswing a s ní související AI model Claude Mythos Preview. Jedná se o iniciativu zaměřenou na kybernetickou bezpečnost, do které se zapojily velké technologické společnosti Amazon Web Services, Anthropic, Apple, Broadcom, Cisco, CrowdStrike, Google, JPMorganChase, Linux Foundation, Microsoft, NVIDIA a Palo Alto Networks. Anthropic věří, že nový AI model Claude Mythos Preview dokáže
… více »Firma Ojective Development vydala svůj nástroj pro monitorování a řízení odchozích síťových připojení Little Snitch i pro operační systém Linux. Linuxová verze se skládá ze tří komponent: eBPF program pro zachytávání provozu a webové rozhraní jsou uvolněny pod GNU GPLv2 a dostupné na GitHubu (převážně Rust a JavaScript), jádro backendu je proprietární pod vlastní licencí, nicméně zdarma k použití a redistribuci (cena přitom normálně … více »
Vojenské zpravodajství (VZ) se v březnu zapojilo do mezinárodní operace proti aktivitám hackerské skupiny APT28, která je spojovaná s ruskou vojenskou zpravodajskou službou GRU a která přes slabě zabezpečené routery prováděla kybernetické útoky na státní a další organizace v ČR i zahraničí. Operaci vedl americký Federální úřad pro vyšetřování (FBI) a jejím cílem bylo odebrat útočníkům přístup k napadeným zařízením a ty následně … více »
Tvůrcem nejpopulárnější kryptoměny bitcoin, který se skrývá za pseudonymem Satoši Nakamoto (Satoshi Nakamoto), je britský kryptograf Adam Back. Na základě vlastní investigativní práce to tvrdí americký deník The New York Times (NYT). Několik indicií podle autorů jasně ukazuje na to, že Back a Nakamoto jsou stejný člověk. Jde mimo jiné o podobný odborný a osobnostní profil či totožné chyby a manýry v psaném projevu.
Google Chrome 147 byl prohlášen za stabilní. Nejnovější stabilní verze 147.0.7727.55 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře. Přehled novinek v Chrome DevTools 145 až 147 také na YouTube.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define RADKY 5
#define DELKA 256
int main(void) {
char **text;
int i;
/* Alokace pole. */
text=(char **) malloc(RADKY*sizeof(char *));
for (i=0; i<RADKY; i++)
text[i]=(char *) malloc(DELKA*sizeof(char));
/* Neco do nej dame. */
strcpy(text[0], "prvni");
strcpy(text[1], "druhy");
/* Zkusime to vytisknout. */
printf("%s", text[0]);
/* Uvolneni pole. */
for (i=0; i<RADKY; i++) free(text[i]);
free(text);
return(0);
}
Místo RADKY a DELKA můžeš mít libvolnou proměnnou typu int. Nezapomeň, že dvourozměrné pole musíš uvolňovat ve dvou krocích. Snad jsem to trefil, kdyžtak napiš mail.
typedef struct {
char *radek;
struct *radek;
} radek;
(ted si nejsem jisty syntaxi) a pak postupne pridavat prvky..
no a zpetne prochazeni taky bude horor...
cili jednoducha funkce v C na to neexistuje, moznosti jsou: naprogramovat si to sam, pouzit C++ (asi nejlepsi volba) nebo pouzit nejaky script jazyk
printf("Zadej pocet radku: ");
scanf("%d", &radky);
tak pak muj priklad funguje, staci misto RADKY napsat radky:
/* Alokace pole. */
text=(char **) malloc(radky*sizeof(char *));
for (i=0; i<radky; i++)
text[i]=(char *) malloc(DELKA*sizeof(char));
a je to jednodussi.
typedef struct {
char *retezec;
radek *dalsi;
radek *predchozi;
} radek;
Tohle resi docela dobre zpetne prochazeni a je to myslim dobre.
jinak me ale jste napadla jedna vec kterou pozuivam kdyz nejde o moc dat a hodi se s nima pracovat jako s polem (typicky zpracovani dat ve fortranu), pak lze pouzit pole tak,
ze se nejprve naplni 2 prvky, kdyz to nestaci tak se 2 prekkopiruji do 4 prvkoveho pole, kdyz ani
to ne, tak se prekopiruje 4 prvky a vytvori 16 atd... velmi sikovne a rychle, bohuzel trochu zrout pameti..
, ale v tomto pripade, kdy by se alokovalo jen 4byte pole ukazatelu na stringy je to urcite lepsi nez se drbat se zasobnikem
typedef struct {
char *retezec;
radek *dalsi;
radek *predchozi;
} radek;
by melo byt:
typedef struct s_radek {
char *retezec;
struct s_radek *dalsi;
struct s_radek *predchozi;
} radek;
Protoze radek neni tou dobou jeste deklarovan, ale struct s_radek jiz ano.
několik takových struktur je třeba v glib.
gcc umožňuje int foo(int n) { char *p[n]; ... }, ale standardní C bohužel ne.
Jinak je třeba použít malloc/alloca...
Tiskni
Sdílej: