From 120090c2bfaf876087b55ba9290e20c6d2772166 Mon Sep 17 00:00:00 2001 From: pro100ton Date: Thu, 19 Dec 2024 23:12:38 +0300 Subject: [PATCH] Add some theory on strings --- .../Pointers/pointers_arithmetics.c | 14 ++++++++++++++ .../Strings/char_arrays_vs_char_pointers.c | 6 ++++++ c_modern_approach/Strings/printing_strings.c | 5 +++++ c_modern_approach/Strings/string_reading.c | 14 ++++++++++++++ c_modern_approach/Strings/theory_addresses.c | 19 +++++++++++++++++++ 5 files changed, 58 insertions(+) create mode 100644 c_modern_approach/Pointers/pointers_arithmetics.c create mode 100644 c_modern_approach/Strings/char_arrays_vs_char_pointers.c create mode 100644 c_modern_approach/Strings/printing_strings.c create mode 100644 c_modern_approach/Strings/string_reading.c create mode 100644 c_modern_approach/Strings/theory_addresses.c diff --git a/c_modern_approach/Pointers/pointers_arithmetics.c b/c_modern_approach/Pointers/pointers_arithmetics.c new file mode 100644 index 0000000..14adf79 --- /dev/null +++ b/c_modern_approach/Pointers/pointers_arithmetics.c @@ -0,0 +1,14 @@ +#include +int main() { + char *p = "Hello"; + printf("%p\n", p); + printf("%c", *p); + p++; + printf("\n\n%p\n", p); + printf("%c", *p); + char *pp = "World"; + char ppa[] = "Ryan Gosling"; + printf("\n%s\n", ppa); + puts(ppa); + puts(ppa); +} diff --git a/c_modern_approach/Strings/char_arrays_vs_char_pointers.c b/c_modern_approach/Strings/char_arrays_vs_char_pointers.c new file mode 100644 index 0000000..81d7295 --- /dev/null +++ b/c_modern_approach/Strings/char_arrays_vs_char_pointers.c @@ -0,0 +1,6 @@ +int main() { + // Char array declaraion + char adate[] = "June 14"; + // Char pointer declaraion + char *pdate = "June 14"; +} diff --git a/c_modern_approach/Strings/printing_strings.c b/c_modern_approach/Strings/printing_strings.c new file mode 100644 index 0000000..c8567a4 --- /dev/null +++ b/c_modern_approach/Strings/printing_strings.c @@ -0,0 +1,5 @@ +#include +int main() { + char *p = "Hello world!"; + printf("%c", *p); +} diff --git a/c_modern_approach/Strings/string_reading.c b/c_modern_approach/Strings/string_reading.c new file mode 100644 index 0000000..14adf79 --- /dev/null +++ b/c_modern_approach/Strings/string_reading.c @@ -0,0 +1,14 @@ +#include +int main() { + char *p = "Hello"; + printf("%p\n", p); + printf("%c", *p); + p++; + printf("\n\n%p\n", p); + printf("%c", *p); + char *pp = "World"; + char ppa[] = "Ryan Gosling"; + printf("\n%s\n", ppa); + puts(ppa); + puts(ppa); +} diff --git a/c_modern_approach/Strings/theory_addresses.c b/c_modern_approach/Strings/theory_addresses.c new file mode 100644 index 0000000..39dec5d --- /dev/null +++ b/c_modern_approach/Strings/theory_addresses.c @@ -0,0 +1,19 @@ +#include +int main() { + char ch0, ch1, ch2, ch3; + ch0 = "abc"[0]; + ch1 = "abc"[1]; + ch2 = "abc"[2]; + ch3 = "abc"[3]; + printf("%c\n", ch0); + printf("%p", &ch0); + printf("\n\n"); + printf("%c\n", ch1); + printf("%p", &ch1); + printf("\n\n"); + printf("%c\n", ch2); + printf("%p", &ch2); + printf("\n\n"); + printf("%c\n", ch3); + printf("%p", &ch3); +}