Get Started. It's Free
or sign up with your email address
Rocket clouds
C coding by Mind Map: C coding

1. pazi zaključni element moraš pri {'','',..} postavit sam pri "" pa to naredi že kompajler

1.1. char string[10] = {‘f’, ’a’, ‘m’, ‘n’, ‘i’, ‘t’, ‘\0’}; (or) char string[10] = “famnit”;

2. če pošiljaš argumente iz main ali katere druge funkcije

2.1. (arg1, arg2, arg3)

2.1.1. pazi: če passaš parameter matrika velikosti [v][s], potem moraš pred njo passat v in s drugače moraš uporabit pointer saj bo kompajler rekel da s in v ne obstajata.. to vse narediš v isti vrstici torej v klicani funkciji napišeš mojaf (int v, int s, matrika[v][s])

3. types

3.1. float

3.1.1. (int)x

3.2. int

3.2.1. int nekastvar []

3.3. char

3.3.1. string

4. PAZI: če iz argv parsaš strings je ok, če parsaš int ali float reabiš atoi ali atof, če parsaš pa char moraš pa uporabit pointer:

4.1. primer: #include<stdio.h> #include<stdlib.h> int main(int argc, char *argv[]) { float a=atof(*argv[1]); float b=atof(*argv[3]); float c; char op=*argv[2]; switch (op){ case '+': c= a+b;break; case '-': c= a-b;break; } printf("result je %f", c); }

4.2. Razlaga na stack overflow

5. pazi oklepajčke

6. break

7. conditional

7.1. if

7.2. switch case

8. float c=(int a)/(float)(int b)

8.1. narobe

9. sizeof nad stevili da prevelko *4 (ker je en element velik 4 byte), sizeof nad chari ti pa da prevelko ponavad samo za 1, ker je to zakljucni element strlen dela samo za char (

10. ascii tabela

11. functions

11.1. main vedno spodaj (pod definicijam funkcij)

11.1.1. pazi global

11.1.2. local

11.1.3. static

12. conversions & math

12.1. float c=(float)(int a)/(int b)

12.2. pazi: size int, float=4bytes (=32bits)

12.3. atoi (ascii to integer)

13. reading & printing

13.1. printf

13.2. scanf ("%idfcsp", &imespremenljivke)

13.3. gets

13.3.1. fgets

14. pazi različne compilers verzije

14.1. parameters/arguments

14.1.1. če pošiljaš argumente iz terminala

14.1.1.1. argc *argv[]

14.2. debugging

14.2.1. set breakpoint

14.2.2. click continue

14.2.2.1. or step over

14.2.3. step in/out is for functions

14.2.4. you observe variables in realtime (also notice when they exist and when they do not)

15. loops

15.1. float c=int a/float b

15.2. loops

15.2.1. for

15.2.2. while

15.2.3. do while

15.2.3.1. break

15.2.3.2. continue

16. arrays & strings

16.1. strlen

16.2. size=sizeof(A)/sizeof(A[0])

17. pointers

17.1. -

17.1.1. int a =5

17.1.2. &a

17.1.3. hex adresa= &a=adc7987ef98797

17.1.4. int b=a*;

17.1.5. printf("vrednost je %i, adresa je %p", a, &a);

17.1.6. int a=10; int* ptr =&a; printf("%p\n",ptr); printf("%lu\n" ptr);

17.2. int a=5; printf("adresa x je %x\n", &a); printf("adresa p je %p\n", &a); printf("vrednost pa je %i", *&a);

18. typical errors

18.1. Core dump (segmentation fault)

18.1.1. bodisi pisanje v element matrike ki ne obstaja

18.1.2. morda pozabil operator za adreso & ali operator za tip spremenljivke %

18.2. PAZI: signal 11 lahko pomeni segmentation fault

18.3. prevečkjrat deklarirana spremenljivka

18.4. pazi rezervirane izraze

18.5. podpicje za vsakim stavkom

18.5.1. int main, na koncu return 0

18.5.2. error ti vedno pokaze v naslednji vrstici

18.5.3. primeri castingov in pretvorb

18.6. warnings ti povejo kdaj bo morda delalo narobe, ampak program se bo vseeno zagnal

18.6.1. plonk listek

18.6.1.1. tipi spremenljivk in njihove velikosti

18.6.1.2. check lista za errorje

18.6.1.3. sintaksa

18.7. char gre v enojne napr 'w' narekovaje, string pa v dvojne napr "world" narekovaje

18.8. PAZI: pri switch statementu, znotraj case ne moreš inicializirat spremenljivk, če ne uporabiš {}

18.8.1. Why can't variables be declared in a switch statement?

18.9. char string[] = {'f', 'a', 'm', 'n', 'i', 't'}; -> pazi string ni zakljucen, manjka element '\0'

19. passing arguments from terminal

20. strings

20.1. fgets moraš povedat kolk velik buffer naj vzame

20.1.1. seveda rabiš string.h

20.1.1.1. potem lahko string kopiraš z strcpy ali ga obrneš z strrev

20.1.1.2. poglej še ostale funkcije v string.h

21. casting = prenašanje spremenljivke v drug type (z veliko verjetnostjo izgube kvalitete, izraz izhaja iz broadcasting radio.. obstaja tudi multicasting, unicasting )

21.1. int a; float b= (float)a;