I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Du kører med linux ikke ? Jeg har været ude for det samme når det har været noget med en løkke der skal køre til NULL Det har den ikke kunnet klare , ved ikke hvorfor
er der ikke noget med at man selv skal ligge en null terminering ind (\\0) ved char* streng er der måske ikke nogle NULL terminering så du kan ikke køre en while(x != NULL) for den kommer aldrig. ved et char streng[] array er der automatiske et null terminering måske!! er det noget med det ved ikke helt.
prøv med en while(true)
eller while(x != NULL)
eller en løsning som jeg nogle gange er nødt til at bruge:
lav en tæller som du kan bruge istedet for x!=NULL eller true
fandt sku lige dette -------------------------------------------- segmentation fault n.
[Unix] 1. [techspeak] An error in which a running program attempts to access memory not allocated to it and core dumps with a segmentation violation error. This is often caused by improper usage of pointers in the source code, dereferencing a null pointer, or (in C) inadvertently using a non-pointer variable as a pointer. The classic example is:
int i; scanf (\"%d\", i); /* should have used &i */
2. To lose a train of thought or a line of reasoning. Also uttered as an exclamation at the point of befuddlement.
jpk >> Jo, hvis array\'et er længere end din init-streng, så bliver der indsat karakter \'\\x0\'. Du kan kun tvinge den til at lade være, ved at give init-værdien til hvert enkelt element:
char a[3] = { {\'a\'}, {\'b\'}, {\'c\'} };
Under TC+ 3.0 giver dette her faktisk memory overwrite problemer:
jo jo, hvis arrayet er LÆNGERE end antallet af de chars der sættes ind... Hvis du angiver: char a[10] = \"abc\"; er de uinitialiserede (af bruger, ikke compiler) chars jo ALLE \'\\xo\'
char a[3] = { {\'a\'}, {\'b\'}, {\'c\'} }; giver ikke i sig selv problemer, kun hvis arrayet anvendes forkert... (i en sammenhæng hvor der forventes en null-termineret streng)
mickni33 har ret. En segmentation fejl optræder når et program skriver i noget hukommelse som ikke er ejet af programmet (en vild pointer). F.eks. sker det ofte hvis man laver a) int x; scanf(\"%d\",x); og ikke int x; scanf(\"%d\",&x); eller b) char *p; strcpy(p,\"Hello world\"); hvor hukommelse som p peger på ikke er reserveret af programmet (med en malloc eller new operator).
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.