Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).
Úřad pro ochranu osobních údajů řeší desítky stížností na jednotné měsíční hlášení zaměstnavatele, které stát spustil počátkem dubna. Systém, jenž má firmám odlehčit od desítek formulářů, nejenže výrazně zatížil jejich účetní oddělení, ale docházelo v něm i k únikům osobních dat zaměstnanců k firmám, kde nepracovali. Podle ministerstva práce a sociálních věcí stála za problémem technická chyba. „Incident se týkal několika stovek
… více »Byla vydána (𝕏, Bluesky) nová verze 22.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.
Vim Classic byl vydán ve verzi 8.3. Drew DeVault oznámil tento fork editoru Vim (verze 8.2.0148, tj. těsně před zavedením Vim9 skriptování) v březnu letošního roku. Důvodem forku bylo, že vývojáři editorů Vim a Neovim začali při vývoji využívat LLM.
Open source konference DevConf.CZ 2026 proběhne 18. a 19. června v Brně na FIT VUT. Publikován byl program a spuštěna byla registrace.
Společnost JetBrains uvolnila verzi 2 svého open-source velkého jazykového modelu (LLM) pro vývojáře Mellum.
Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …
Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.
Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.
Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.
void main(void)
{
int *p;
p = (int *) malloc(sizeof(int *) * 5);
p[2]=10;
p[50]=11;
printf("%d", p[50]);
free(p);
}
A jak by se, prosím vás, dalo toto zapsat správně?
Díky.
3. Pointer p ukazuje na int, ale alokujete pamět na 5 ukazatelů na int, nikoliv na 5 integerů.Na většině systémů jsou oba typy 32bitové, takže žádný problém.
(já jenom tak rejpu, původně jsem pouze naznačoval, že ačkoliv to samozřejmě chyba je, tak na řešený problém to nejspíše vliv nemá)
sizeof(int) == sizeof(int*). Za tímhle tvrzení si stojím. Tečka.
#include <stdio.h>
int main (void) {
printf ("%i, %i\n", sizeof(int), sizeof(int*));
return 0;
}
#gcc -o sizeof -Wall -pedantic sizeof.c
#./sizeof
4, 4
#
Nikdy jsem netvrdil, že ten zápis v otázce je dobře nebo dokonce že by se to tak mělo dělat. Nikdy jsem netvrdil, že přístup "na x86 to bude fungovat, tak to tak nechám" je správný. Proto mi ani nemusíte opakovat, že
program, který většinou funguje, je daleko nebezpečnější, než program, který nefunguje skoro nikdy.Opravdu nemusíte. Vím to sám.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int *p;
p = (int *) malloc(sizeof(int *) * 5);
p[2]=10;
p[50]=11;
printf("%d", p[50]);
free(p);
return 0;
}
p = (int *) malloc(sizeof(int *) * 5); p[2]=10;Vytvoril si si totiz volnu pamat velkosti (5*smernik na int) a nasledne zapisujes do tohto pola ako by to bolo pole intov. Pravdepodobne to malo vyzarat takto:
p = (int *) malloc( sizeof(int) * 5 );Takisto tu je problem s tym, ze zapisujes na miesto, ktore ti takpovediac nepatri (p[50]=11;)...
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int *p;
p = (int *) malloc( sizeof(int) * 51 );
p[2]=10;
p[50]=11;
printf("%d", p[50]);
free(p);
return 0;
}
... tak to na funkčnost programu přímý vliv nějak extra asi mít nebude
Ale u tazatele čekám podmínky dost podobné. A i kdyby, tak to bude třeba dvakrát víc nebo půlka, to ještě není tak hrozné
-Wall)
Zásada č.II: vždy používej nějaký malloc debugger.
Jedním z nejjednodušších je electric fence, stačí jen přilinkovat k binárce -lefence . Nedělá nic jiného než že zajistí, že takto špatně napsaný program spolehlivě chcípne na SIGSEGV (jak se sluší a patří).
char **pole;
scena = fopen( "./config/scena.txt" , "rt");
pole = (char **)malloc(sizeof(char*));
char buffer[512];
while(fscanf(scena, "%s",&buffer) != EOF){
pole[i] = (char *)malloc(sizeof(char) * strlen(buffer));
strcpy(pole[i], buffer);
i++;
}
.
void main (void) {
printf ("%d\n", sbrk (0));
int *p = (int *) malloc (sizeof (int) * 10);
printf ("%d\n", sbrk (0));
int *i = (int *) sbrk (0);
printf ("Tohle je jeste moje\n");
*(i - 1) = 100;
printf ("Tohle uz ne a nastane konec
\n");
*i = 100;
}
i[55] = 5 to přepíše - pak se program bude chovat zcela nevypočitatelně.
Tiskni
Sdílej: