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); +}