diff --git a/20250325/arrays-and-pointers-01.c b/20250325/arrays-and-pointers-01.c new file mode 100644 index 0000000000000000000000000000000000000000..21ffafec1014b6aa897b03ca57813dce87546ac1 --- /dev/null +++ b/20250325/arrays-and-pointers-01.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + char a[] = "Test"; + char *p = "Test"; + printf ("%s\n%s\n", a, p); + return 0; +} diff --git a/20250325/arrays-and-pointers-02.c b/20250325/arrays-and-pointers-02.c new file mode 100644 index 0000000000000000000000000000000000000000..29ef19c54ba3010b2ea51485653d8dee965b47dc --- /dev/null +++ b/20250325/arrays-and-pointers-02.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + char a[] = "Test"; + char *p = "Test"; + printf ("%d %d %d %d\n", &a, a, &p, p); + return 0; +} diff --git a/20250325/arrays-and-pointers-03.c b/20250325/arrays-and-pointers-03.c new file mode 100644 index 0000000000000000000000000000000000000000..6c2d5cbced5506ab11d372f605a9fe780d91db97 --- /dev/null +++ b/20250325/arrays-and-pointers-03.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + char a[] = "Test"; + char *p = "Test"; + printf ("%z %z %z %z\n", &a, a, &p, p); + return 0; +} diff --git a/20250325/arrays-and-pointers-04.c b/20250325/arrays-and-pointers-04.c new file mode 100644 index 0000000000000000000000000000000000000000..bd1d4933ffb99e9287c4175a37c7a463530f338a --- /dev/null +++ b/20250325/arrays-and-pointers-04.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + char a[] = "Test"; + char *p = "Test"; + printf ("%zd %zd %zd %zd\n", &a, a, &p, p); + return 0; +} diff --git a/20250325/arrays-and-pointers-05.c b/20250325/arrays-and-pointers-05.c new file mode 100644 index 0000000000000000000000000000000000000000..9bd1ad97738de4ff991732443e46440451ab47a1 --- /dev/null +++ b/20250325/arrays-and-pointers-05.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + char a[] = "Test"; + char *p = "Test"; + printf ("%zd %zd %zd %zd\n", (size_t) &a, (size_t) a, (size_t) &p, (size_t) p); + return 0; +} diff --git a/20250325/arrays-and-pointers-06.c b/20250325/arrays-and-pointers-06.c new file mode 100644 index 0000000000000000000000000000000000000000..2bedb51dcec76163f1b0ed0cb280eda63f85d94e --- /dev/null +++ b/20250325/arrays-and-pointers-06.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +int main (void) +{ + char a[] = "Test"; + char *p = "Test"; + printf ("%016zx %016zx %016zx %016zx\n", (size_t) &a, (size_t) a, (size_t) &p, (size_t) p); + return 0; +} diff --git a/20250325/arrays-and-pointers-06.png b/20250325/arrays-and-pointers-06.png new file mode 100644 index 0000000000000000000000000000000000000000..a897e6aabc773bb551e78e13198323dc273f759b Binary files /dev/null and b/20250325/arrays-and-pointers-06.png differ diff --git a/20250325/arrays-and-pointers-06.s b/20250325/arrays-and-pointers-06.s new file mode 100644 index 0000000000000000000000000000000000000000..48a58cbc8757f72ff22ff7587169d68493644365 --- /dev/null +++ b/20250325/arrays-and-pointers-06.s @@ -0,0 +1,35 @@ + .file "arrays-and-pointers-06.c" + .text + .section .rodata.str1.1,"aMS",@progbits,1 +.LC0: + .string "Test" +.LC1: + .string "%016zx %016zx %016zx %016zx\n" + .section .text.startup,"ax",@progbits + .p2align 4 + .globl main + .type main, @function +main: +.LFB11: + .cfi_startproc + subq $24, %rsp + .cfi_def_cfa_offset 32 + leaq .LC0(%rip), %r8 ; #include <stdio.h> + leaq .LC1(%rip), %rdi ; + xorl %eax, %eax ; int main (void) + leaq 3(%rsp), %rsi ; { + leaq 8(%rsp), %rcx ; char a[] = "Test"; + movb $0, 7(%rsp) ; char *p = "Test"; + movq %rsi, %rdx ; printf ("%016zx %016zx %016zx %016zx\n", (size_t) &a, (size_t) a, (size_t) &p, (size_t) p); + movl $1953719636, 3(%rsp) ; return 0; + movq %r8, 8(%rsp) ; } + call printf@PLT ; 1953719636 = 0x74736554 + xorl %eax, %eax ; t s e T + addq $24, %rsp + .cfi_def_cfa_offset 8 + ret + .cfi_endproc +.LFE11: + .size main, .-main + .ident "GCC: (Debian 12.2.0-14) 12.2.0" + .section .note.GNU-stack,"",@progbits diff --git a/20250325/arrays-and-pointers-06.xcf.gz b/20250325/arrays-and-pointers-06.xcf.gz new file mode 100644 index 0000000000000000000000000000000000000000..1760ebb7faff5f86311184eee92963abcf22a637 Binary files /dev/null and b/20250325/arrays-and-pointers-06.xcf.gz differ diff --git a/20250325/screenshot-20250325-120044.png b/20250325/screenshot-20250325-120044.png new file mode 100644 index 0000000000000000000000000000000000000000..29e6708e33c7920cbfa5a0182701ea3df5744479 Binary files /dev/null and b/20250325/screenshot-20250325-120044.png differ