diff --git a/20201119/arrays-1.c b/20201119/arrays-1.c new file mode 100644 index 0000000000000000000000000000000000000000..35cf856c63942234116544ac721ff0a47d797b09 --- /dev/null +++ b/20201119/arrays-1.c @@ -0,0 +1,10 @@ +#include <stdio.h> + +int main (void) +{ + int prime[5] = { 2, 3, 5, 7, 11 }; + int *p = prime; + for (int i = 0; i < 5; i++) + printf ("%d\n", *(p + i)); + return 0; +} diff --git a/20201119/arrays-10.c b/20201119/arrays-10.c new file mode 100644 index 0000000000000000000000000000000000000000..bafaa0e2a558352ff8f8784b5a933870674265b2 --- /dev/null +++ b/20201119/arrays-10.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int prime[]; + for (int *p = prime; *p; p++) + printf ("%d\n", *p); + return 0; +} diff --git a/20201119/arrays-11.c b/20201119/arrays-11.c new file mode 100644 index 0000000000000000000000000000000000000000..df8992bc15e0a9d675d5c58fde39571cf4051043 --- /dev/null +++ b/20201119/arrays-11.c @@ -0,0 +1,13 @@ +#include <stdio.h> + +int main (void) +{ + int prime[] = { 2, 3, 5, 7, 11, 0 }; + for (int *p = prime; *p; p++) + printf ("%d\n", *p); + prime[5] = 13; /* Dies funktioniert zwar im Moment, ist aber falsch! */ + /* Wir schreiben über das Array hinaus. Dies kann zu einem */ + for (int *p = prime; *p; p++) /* Absturz führen. */ + printf ("%d\n", *p); + return 0; +} diff --git a/20201119/arrays-12.c b/20201119/arrays-12.c new file mode 100644 index 0000000000000000000000000000000000000000..21cf467acd52bf44e9619a44373fbb31a54b3b6e --- /dev/null +++ b/20201119/arrays-12.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int prime[] = { }; + for (int *p = prime; *p; p++) + printf ("%d\n", *p); + return 0; +} diff --git a/20201119/arrays-13.c b/20201119/arrays-13.c new file mode 100644 index 0000000000000000000000000000000000000000..f27e0c15ff89ff1bf1cf4a2e0bc55f1d775f4f59 --- /dev/null +++ b/20201119/arrays-13.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int prime[] = { 0 }; + for (int *p = prime; *p; p++) + printf ("%d\n", *p); + return 0; +} diff --git a/20201119/arrays-2.c b/20201119/arrays-2.c new file mode 100644 index 0000000000000000000000000000000000000000..d206e6c3296fe7f7e48febd10893a5be65fca67a --- /dev/null +++ b/20201119/arrays-2.c @@ -0,0 +1,10 @@ +#include <stdio.h> + +int main (void) +{ + int prime[5] = { 2, 3, 5, 7, 11 }; + int *p = prime; + for (int i = 0; i < 5; i++) + printf ("%d\n", p[i]); + return 0; +} diff --git a/20201119/arrays-3.c b/20201119/arrays-3.c new file mode 100644 index 0000000000000000000000000000000000000000..388b8bcc0dc426cc3aaee3769fc5ac577bfa441c --- /dev/null +++ b/20201119/arrays-3.c @@ -0,0 +1,11 @@ +#include <stdio.h> + +int main (void) +{ + int prime[5] = { 2, 3, 5, 7, 11 }; + int *p; + p = prime; + for (int i = 0; i < 5; i++) + printf ("%d\n", p[i]); + return 0; +} diff --git a/20201119/arrays-4-O0.s b/20201119/arrays-4-O0.s new file mode 100644 index 0000000000000000000000000000000000000000..ebca8d83fa17c0087d4f4a1e853e32b8e848594a --- /dev/null +++ b/20201119/arrays-4-O0.s @@ -0,0 +1,45 @@ + .file "arrays-4.c" + .text + .section .rodata +.LC0: + .string "%d\n" + .text + .globl main + .type main, @function +main: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movl $2, -32(%rbp) + movl $3, -28(%rbp) + movl $5, -24(%rbp) + movl $7, -20(%rbp) + movl $11, -16(%rbp) + movl $0, -4(%rbp) + jmp .L2 +.L3: + movl -4(%rbp), %eax + cltq + movl -32(%rbp,%rax,4), %eax + movl %eax, %esi + leaq .LC0(%rip), %rdi + movl $0, %eax + call printf@PLT + addl $1, -4(%rbp) +.L2: + cmpl $4, -4(%rbp) + jle .L3 + movl $0, %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size main, .-main + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20201119/arrays-4-m32.s b/20201119/arrays-4-m32.s new file mode 100644 index 0000000000000000000000000000000000000000..c7bcb148f2f18c3418ab976bc4f7111beb397331 --- /dev/null +++ b/20201119/arrays-4-m32.s @@ -0,0 +1,79 @@ + .file "arrays-4.c" + .text + .section .rodata.str1.1,"aMS",@progbits,1 +.LC0: + .string "%d\n" + .text + .globl main + .type main, @function +main: +.LFB11: + .cfi_startproc + leal 4(%esp), %ecx + .cfi_def_cfa 1, 0 + andl $-16, %esp + pushl -4(%ecx) + pushl %ebp + .cfi_escape 0x10,0x5,0x2,0x75,0 + movl %esp, %ebp + pushl %edi + pushl %esi + pushl %ebx + pushl %ecx + .cfi_escape 0xf,0x3,0x75,0x70,0x6 + .cfi_escape 0x10,0x7,0x2,0x75,0x7c + .cfi_escape 0x10,0x6,0x2,0x75,0x78 + .cfi_escape 0x10,0x3,0x2,0x75,0x74 + subl $56, %esp + call __x86.get_pc_thunk.bx + addl $_GLOBAL_OFFSET_TABLE_, %ebx + movl $2, -44(%ebp) + movl $3, -40(%ebp) + movl $5, -36(%ebp) + movl $7, -32(%ebp) + movl $11, -28(%ebp) + leal -44(%ebp), %esi + leal -24(%ebp), %eax + movl %eax, -60(%ebp) + leal .LC0@GOTOFF(%ebx), %edi +.L2: + subl $8, %esp + pushl (%esi) + pushl %edi + call printf@PLT + addl $4, %esi + addl $16, %esp + cmpl -60(%ebp), %esi + jne .L2 + movl $0, %eax + leal -16(%ebp), %esp + popl %ecx + .cfi_restore 1 + .cfi_def_cfa 1, 0 + popl %ebx + .cfi_restore 3 + popl %esi + .cfi_restore 6 + popl %edi + .cfi_restore 7 + popl %ebp + .cfi_restore 5 + leal -4(%ecx), %esp + .cfi_def_cfa 4, 4 + ret + .cfi_endproc +.LFE11: + .size main, .-main + .section .text.__x86.get_pc_thunk.bx,"axG",@progbits,__x86.get_pc_thunk.bx,comdat + .globl __x86.get_pc_thunk.bx + .hidden __x86.get_pc_thunk.bx + .type __x86.get_pc_thunk.bx, @function +__x86.get_pc_thunk.bx: +.LFB12: + .cfi_startproc + movl (%esp), %ebx + ret + .cfi_endproc +.LFE12: + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20201119/arrays-4.c b/20201119/arrays-4.c new file mode 100644 index 0000000000000000000000000000000000000000..83a03a4fe9425d684db38f0219cd9e9e19b405ba --- /dev/null +++ b/20201119/arrays-4.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int prime[5] = { 2, 3, 5, 7, 11 }; + for (int i = 0; i < 5; i++) + printf ("%d\n", prime[i]); + return 0; +} diff --git a/20201119/arrays-4.s b/20201119/arrays-4.s new file mode 100644 index 0000000000000000000000000000000000000000..7e82bcaa41df38434faa6619221913a632de15fe --- /dev/null +++ b/20201119/arrays-4.s @@ -0,0 +1,53 @@ + .file "arrays-4.c" + .text + .section .rodata.str1.1,"aMS",@progbits,1 +.LC0: + .string "%d\n" + .text + .globl main + .type main, @function +main: +.LFB11: + .cfi_startproc + pushq %r12 + .cfi_def_cfa_offset 16 + .cfi_offset 12, -16 + pushq %rbp + .cfi_def_cfa_offset 24 + .cfi_offset 6, -24 + pushq %rbx + .cfi_def_cfa_offset 32 + .cfi_offset 3, -32 + subq $32, %rsp + .cfi_def_cfa_offset 64 + movl $2, (%rsp) # #include <stdio.h> + movl $3, 4(%rsp) # + movl $5, 8(%rsp) # int main (void) + movl $7, 12(%rsp) # { + movl $11, 16(%rsp) # int prime[5] = { 2, 3, 5, 7, 11 }; + movq %rsp, %rbx # for (int i = 0; i < 5; i++) + leaq 20(%rbx), %r12 # printf ("%d\n", prime[i]); + leaq .LC0(%rip), %rbp # return 0; +.L2: # } + movl (%rbx), %esi + movq %rbp, %rdi + movl $0, %eax + call printf@PLT + addq $4, %rbx + cmpq %r12, %rbx + jne .L2 + movl $0, %eax + addq $32, %rsp + .cfi_def_cfa_offset 32 + popq %rbx + .cfi_def_cfa_offset 24 + popq %rbp + .cfi_def_cfa_offset 16 + popq %r12 + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE11: + .size main, .-main + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20201119/arrays-5.c b/20201119/arrays-5.c new file mode 100644 index 0000000000000000000000000000000000000000..2015ffc6cd5057daaa755294ab4af602559eefa4 --- /dev/null +++ b/20201119/arrays-5.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int prime[5] = { 2, 3, 5, 7, 11 }; + for (int *p = prime; p < prime + 5; p++) + printf ("%d\n", *p); + return 0; +} diff --git a/20201119/arrays-5.s b/20201119/arrays-5.s new file mode 100644 index 0000000000000000000000000000000000000000..3a7c4d5dfeaed0ea17968f93767c3ec23693dda2 --- /dev/null +++ b/20201119/arrays-5.s @@ -0,0 +1,47 @@ + .file "arrays-5.c" + .text + .section .rodata.str1.1,"aMS",@progbits,1 +.LC0: + .string "%d\n" + .text + .globl main + .type main, @function +main: +.LFB11: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + pushq %rbx + .cfi_def_cfa_offset 24 + .cfi_offset 3, -24 + subq $40, %rsp + .cfi_def_cfa_offset 64 + movl $2, (%rsp) # #include <stdio.h> + movl $3, 4(%rsp) # + movl $5, 8(%rsp) # int main (void) + movl $7, 12(%rsp) # { + movl $11, 16(%rsp) # int prime[5] = { 2, 3, 5, 7, 11 }; + movq %rsp, %rbx # for (int *p = prime; p < prime + 5; p++) + leaq 20(%rsp), %rbp # printf ("%d\n", *p); +.L2: # return 0; + movl (%rbx), %esi # } + leaq .LC0(%rip), %rdi + movl $0, %eax + call printf@PLT + addq $4, %rbx + cmpq %rbp, %rbx + jne .L2 + movl $0, %eax + addq $40, %rsp + .cfi_def_cfa_offset 24 + popq %rbx + .cfi_def_cfa_offset 16 + popq %rbp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE11: + .size main, .-main + .ident "GCC: (Debian 8.3.0-6) 8.3.0" + .section .note.GNU-stack,"",@progbits diff --git a/20201119/arrays-6.c b/20201119/arrays-6.c new file mode 100644 index 0000000000000000000000000000000000000000..28a88d55b97ae96e3a4e9a4a467ba89e57719dba --- /dev/null +++ b/20201119/arrays-6.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int prime[6] = { 2, 3, 5, 7, 11, 0 }; + for (int *p = prime; *p != 0; p++) + printf ("%d\n", *p); + return 0; +} diff --git a/20201119/arrays-7.c b/20201119/arrays-7.c new file mode 100644 index 0000000000000000000000000000000000000000..dcf32170d4658f2eafdf436809e9a9aa0e56379b --- /dev/null +++ b/20201119/arrays-7.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int prime[6] = { 2, 3, 5, 7, 11, 0 }; + for (int *p = prime; *p; p++) + printf ("%d\n", *p); + return 0; +} diff --git a/20201119/arrays-8.c b/20201119/arrays-8.c new file mode 100644 index 0000000000000000000000000000000000000000..6e19ec4ef5e5b81e940168a4a4e6b3026a4f4375 --- /dev/null +++ b/20201119/arrays-8.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int prime[] = { 2, 3, 5, 7, 11, 0 }; + for (int *p = prime; *p; p++) + printf ("%d\n", *p); + return 0; +} diff --git a/20201119/arrays-9.c b/20201119/arrays-9.c new file mode 100644 index 0000000000000000000000000000000000000000..37209f1e1bf1f979d0a8102afbaf52808c3501cd --- /dev/null +++ b/20201119/arrays-9.c @@ -0,0 +1,13 @@ +#include <stdio.h> + +int main (void) +{ + int prime[] = { 2, 3, 5, 7, 11, 0 }; + for (int *p = prime; *p; p++) + printf ("%d\n", *p); + prime[5] = 13; /* Dies funktioniert zwar im Moment, ist aber falsch! */ + prime[6] = 0; /* Wir schreiben über das Array hinaus. Dies kann zu einem */ + for (int *p = prime; *p; p++) /* Absturz führen. */ + printf ("%d\n", *p); + return 0; +} diff --git a/20201119/break-1.c b/20201119/break-1.c new file mode 100644 index 0000000000000000000000000000000000000000..f3ee1a8199e63ce57a7624796af5e9f91917b614 --- /dev/null +++ b/20201119/break-1.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +int main (void) +{ + int a = 0; + int b = 1; + printf ("%d\n", b); + for (int i = 0; i < 10; i++) + { + int c = a + b; + a = b; + b = c; + printf ("%d\n", b); + } + return 0; +} diff --git a/20201119/break-2.c b/20201119/break-2.c new file mode 100644 index 0000000000000000000000000000000000000000..061092d844651f831ceeee60efc0f2d1d3b84698 --- /dev/null +++ b/20201119/break-2.c @@ -0,0 +1,23 @@ +#include <stdio.h> + +/* Aufgabe: Finde die erste Fibonacci-Zahl, die größer ist als 10. */ + +int main (void) +{ + int a = 0; + int b = 1; + while (1) + { + int c = a + b; + a = b; + b = c; + if (b > 10) + { + printf ("Die erste Fibonacci-Zahl, die größer ist als 10, lautet: %d\n", b); + /* Dieses printf() erfolgt von der Logik her nach der Schleife, + es steht aber im Quelltext _innerhalb_ der Schleife. */ + break; + } + } + return 0; +} diff --git a/20201119/break-3.c b/20201119/break-3.c new file mode 100644 index 0000000000000000000000000000000000000000..676b6bc8506264873acb441a6b44e1632c22a257 --- /dev/null +++ b/20201119/break-3.c @@ -0,0 +1,17 @@ +#include <stdio.h> + +/* Aufgabe: Finde die erste Fibonacci-Zahl, die größer ist als 10. */ + +int main (void) +{ + int a = 0; + int b = 1; + while (b <= 10) + { + int c = a + b; + a = b; + b = c; + } + printf ("Die erste Fibonacci-Zahl, die größer ist als 10, lautet: %d\n", b); /* nach der Schleife */ + return 0; +} diff --git a/20201119/init-1.c b/20201119/init-1.c new file mode 100644 index 0000000000000000000000000000000000000000..9a05531f9820ada5bb72c00f2443bd6f3b2e5245 --- /dev/null +++ b/20201119/init-1.c @@ -0,0 +1,8 @@ +#include <stdio.h> + +int main (void) +{ + int a, b = 3, 3; + printf ("a = %d, b = %d\n", a, b); + return 0; +} diff --git a/20201119/init-2.c b/20201119/init-2.c new file mode 100644 index 0000000000000000000000000000000000000000..e62490d5aa8cad477fa1ed5dc3a2a4b618536ed3 --- /dev/null +++ b/20201119/init-2.c @@ -0,0 +1,8 @@ +#include <stdio.h> + +int main (void) +{ + int a, b = (3, 3); + printf ("a = %d, b = %d\n", a, b); + return 0; +} diff --git a/20201119/init-3.c b/20201119/init-3.c new file mode 100644 index 0000000000000000000000000000000000000000..049bc7d94b12216cb5088b38345a24a9f80a201c --- /dev/null +++ b/20201119/init-3.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + int a, b = (3, 3); /* Komma-Operator: ignoriere die erste 3, nimm die zweite */ + /* a ist eine lokale Variable und daher uninitialisiert */ + printf ("a = %d, b = %d\n", a, b); + return 0; +} diff --git a/20201119/pointers-1.c b/20201119/pointers-1.c new file mode 100644 index 0000000000000000000000000000000000000000..3bd2e86c08fbe05eb8eb9b42d886e30f8f0be286 --- /dev/null +++ b/20201119/pointers-1.c @@ -0,0 +1,14 @@ +#include <stdio.h> + +void calc_answer (int *a) +{ + *a = 42; +} + +int main (void) +{ + int answer; + calc_answer (&answer); + printf ("The answer is %d.\n", answer); + return 0; +} diff --git a/20201119/pointers-10.c b/20201119/pointers-10.c new file mode 100644 index 0000000000000000000000000000000000000000..87c15939a621158c9bf85349235d11eeba76a577 --- /dev/null +++ b/20201119/pointers-10.c @@ -0,0 +1,14 @@ +#include <stdio.h> + +int calc_answer (void) +{ + return 42; +} + +int main (void) +{ + int answer = 137; + answer = calc_answer (); + printf ("The answer is %d.\n", answer); + return 0; +} diff --git a/20201119/pointers-11.c b/20201119/pointers-11.c new file mode 100644 index 0000000000000000000000000000000000000000..09beb47172938d4a259e5652571d2c30f94fef19 --- /dev/null +++ b/20201119/pointers-11.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +void calc_answer (int a) +{ + a = 42; + printf ("&a = %x\n", &a); +} + +int main (void) +{ + int answer = 137; + printf ("&answer = %x\n", &answer); + calc_answer (answer); + printf ("The answer is %d.\n", answer); + return 0; +} diff --git a/20201119/pointers-12.c b/20201119/pointers-12.c new file mode 100644 index 0000000000000000000000000000000000000000..e75810bc7fa0a7e1553fa35362951d223be2e0b4 --- /dev/null +++ b/20201119/pointers-12.c @@ -0,0 +1,17 @@ +#include <stdio.h> + +void calc_answer (int *a) +{ + *a = 42; + printf ("a = %x\n", a); + printf ("&a = %x\n", &a); +} + +int main (void) +{ + int answer = 137; + printf ("&answer = %x\n", &answer); + calc_answer (&answer); + printf ("The answer is %d.\n", answer); + return 0; +} diff --git a/20201119/pointers-2.c b/20201119/pointers-2.c new file mode 100644 index 0000000000000000000000000000000000000000..7867933ea67073e239e5b307d2c219639442be77 --- /dev/null +++ b/20201119/pointers-2.c @@ -0,0 +1,14 @@ +#include <stdio.h> + +void calc_answer (int *a) +{ + *a = 42; +} + +int main (void) +{ + int answer; + calc_answer (answer); + printf ("The answer is %d.\n", answer); + return 0; +} diff --git a/20201119/pointers-3.c b/20201119/pointers-3.c new file mode 100644 index 0000000000000000000000000000000000000000..69b7182f7df3725e3ecfb4a10d8376eeff43ad4c --- /dev/null +++ b/20201119/pointers-3.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +void calc_answer (int *a) +{ + *a = 42; + printf ("*a = %d\n", *a); + printf ("a = %d\n", a); +} + +int main (void) +{ + int answer; + calc_answer (&answer); + printf ("The answer is %d.\n", answer); + return 0; +} diff --git a/20201119/pointers-4.c b/20201119/pointers-4.c new file mode 100644 index 0000000000000000000000000000000000000000..ab9f4575402b2bde8d1e9b8fd048a57a71eb1586 --- /dev/null +++ b/20201119/pointers-4.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +void calc_answer (int *a) +{ + *a = 42; + printf ("*a = %d\n", *a); + printf ("a = %x\n", a); +} + +int main (void) +{ + int answer; + calc_answer (&answer); + printf ("The answer is %d.\n", answer); + return 0; +} diff --git a/20201119/pointers-5.c b/20201119/pointers-5.c new file mode 100644 index 0000000000000000000000000000000000000000..f437cf432137bbf3298d038c635b74df6be0d04e --- /dev/null +++ b/20201119/pointers-5.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +void calc_answer (int *a) +{ + *a = 42; + printf ("*a = %d\n", *a); + printf ("a = %d\n", a); +} + +int main (void) +{ + int answer; + calc_answer (answer); + printf ("The answer is %d.\n", answer); + return 0; +} diff --git a/20201119/pointers-6.c b/20201119/pointers-6.c new file mode 100644 index 0000000000000000000000000000000000000000..8710b87defa6afd78ca08faf1a9b26c3e7c76969 --- /dev/null +++ b/20201119/pointers-6.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +void calc_answer (int *a) +{ + printf ("a = %d\n", a); + *a = 42; + printf ("*a = %d\n", *a); +} + +int main (void) +{ + int answer; + calc_answer (answer); + printf ("The answer is %d.\n", answer); + return 0; +} diff --git a/20201119/pointers-7.c b/20201119/pointers-7.c new file mode 100644 index 0000000000000000000000000000000000000000..ea57eee75caf86654957e74b28aff69e6979ab20 --- /dev/null +++ b/20201119/pointers-7.c @@ -0,0 +1,16 @@ +#include <stdio.h> + +void calc_answer (int *a) +{ + printf ("a = %d\n", a); + *a = 42; + printf ("*a = %d\n", *a); +} + +int main (void) +{ + int answer = 137; + calc_answer (answer); + printf ("The answer is %d.\n", answer); + return 0; +} diff --git a/20201119/pointers-8.c b/20201119/pointers-8.c new file mode 100644 index 0000000000000000000000000000000000000000..f253112079f1d85db4c5f823c986a35b545c77a0 --- /dev/null +++ b/20201119/pointers-8.c @@ -0,0 +1,14 @@ +#include <stdio.h> + +void calc_answer (int a) +{ + a = 42; +} + +int main (void) +{ + int answer = 137; + calc_answer (answer); + printf ("The answer is %d.\n", answer); + return 0; +} diff --git a/20201119/pointers-9.c b/20201119/pointers-9.c new file mode 100644 index 0000000000000000000000000000000000000000..d347a74482460e2b5635562e99ea848fa0e8af55 --- /dev/null +++ b/20201119/pointers-9.c @@ -0,0 +1,14 @@ +#include <stdio.h> + +void calc_answer (int a) +{ + a = 42; +} + +int main (void) +{ + int answer = 137; + calc_answer (&answer); + printf ("The answer is %d.\n", answer); + return 0; +} diff --git a/README.md b/README.md index 84d5380f107638da466355cc891e435a6a7b6daa..851c9f46048117e814004c1a997c7ea196c6c030 100644 --- a/README.md +++ b/README.md @@ -19,16 +19,19 @@ Vortragsfolien und Beispiele: ----------------------------- * [05.11.2020: Einführung, Einführung in C (bis Schleifen)](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201105/hp-20201105.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201105/) * [12.11.2020: Einführung in C: Seiteneffekte, Funktionen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201112/hp-20201112.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201112/) + * [19.11.2020: Einführung in C: Zeiger, Arrays und Strings](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201119/hp-20201119.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/hp/tree/master/20201119/) * [alle in 1 Datei](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/hp-slides-2020ws.pdf) Übungsaufgaben: --------------- * [05.11.2020: Hello-World-Programme, Schaltjahr ermitteln, Maximum berechnen](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201105/hp-uebung-20201105.pdf) * [12.11.2020: Schaltjahr ermitteln, Multiplikationstabelle, Fibonacci-Zahlen, fehlerhaftes Programm](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201112/hp-uebung-20201112.pdf) + * [19.11.2020: Seltsame Programme, Kalender-Berechnung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201119/hp-uebung-20201119.pdf) Musterlösungen: --------------- * [12.11.2020: Schaltjahr ermitteln, Multiplikationstabelle, Fibonacci-Zahlen, fehlerhaftes Programm](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201112/hp-musterloesung-20201112.pdf) + * [19.11.2020: Seltsame Programme, Kalender-Berechnung](https://gitlab.cvh-server.de/pgerwinski/hp/raw/master/20201119/hp-musterloesung-20201119.pdf) Tafelbilder: ------------ diff --git a/hp-slides-2020ws.pdf b/hp-slides-2020ws.pdf deleted file mode 100644 index 0446183220ac077daaed80b2905022940f418d68..0000000000000000000000000000000000000000 Binary files a/hp-slides-2020ws.pdf and /dev/null differ diff --git a/hp-slides-2020ws.tex b/hp-slides-2020ws.tex index 5cc6b067194d9f1c8038e3adb8dea0f47901f8aa..781a4eacf61fa66d312d3954599f29464f504a0a 100644 --- a/hp-slides-2020ws.tex +++ b/hp-slides-2020ws.tex @@ -14,4 +14,6 @@ \includepdf[pages=-]{20201105/hp-20201105.pdf} \pdfbookmark[1]{12.11.2020: Einführung in C: Seiteneffekte, Funktionen}{20201112} \includepdf[pages=-]{20201112/hp-20201112.pdf} + \pdfbookmark[1]{19.11.2020: Einführung in C: Zeiger, Arrays und Strings}{20201119} + \includepdf[pages=-]{20201119/hp-20201119.pdf} \end{document}