Day 72: Copy a Multi-Dimensional char Array

To get myself to the next level I assigned myself a task. Just like with copying a string I want to try and copy an array of strings into another array manually in C. If I can do that then I believe I will have everything that I need to finish my horizontal pretty print function in C.

TLDR;

Okay, so here are the highlights of what I did:

  • Continued to work on the “Technical Questions” section of the book “Cracking the Coding Interview” by Gayle Laakmann McDowell. Within that, I continued my work on Tree data structures. Started trying to replicate the example pretty print functions provided in the article I am reading through. I started working on copying a multi-Dimensional char array in C (an array of strings). So far so good but I didn’t spend enough time on it today to feel confident. I will give it a more serious effort tomorrow.
  • I continued reading through chapter 6 of the book “Eloquent JavaScript” by Marjin Haverbeke. I am starting to read the book to help cover some insecurities I have about my knowledge of the language. I learned JavaScript on the fly through projects and YouTube videos. There are some core questions about the language that I don’t think I can answer, so hopefully this will help. I watched a bunch of videos explaining how polymorphism works. I understand that it involves “Method Overriding” and “Method Overloading”. I still don’t fully grasp what that means tbh. What was covered in the book seems a lot more complicated than what is being shown in the videos. It’s a little frustrating. A real world example would be great. Although, I really can’t complain since all this information is FREE. I got to keep myself grateful and humble LOL.

Really Rough notes on Polymorphism

I previously believed that Method overloading was known as the concept of Polymorphism in OOP. I only recently became aware that this is not the case. Method overloading and overriding derived properties may fall into a category of Polymorphism but that is also in itself questionable.

Quote from article: “Basically, polymorphism is categorized into two parts, i.e. compile time and run time. Compile time polymorphism can be achieved by two ways. Function overloading and operator overloading. Runtime polymorphism can be achieved by function overloading.”

  • Method Overloading
  • Method Overriding

I really don’t know what I’m doing yet. I haven’t gotten a hold of this concept beyond the basics. The dog.speak() vs animal.speak() examples are a bit too simple. I need to see it in action in an example that is closer to a real world scenario.


Conclusion

That’s all for today. This is my sixth round of the “#100daysofcode” challenge. I will be continuing my work from round five into round six. I am currently working through the book “Cracking the Coding Interview” by Gayle Laakmann McDowell. My goal is to become more familiar with algorithms and data structures. This goal was derived from my goal to better understand operating systems and key programs that I use in the terminal regularly e.g. Git. This goal was in term derived from my desire to better understand the fundamental tools used for coding outside of popular GUIs. This in turn was derived from my desire to be a better back-end developer.

I have no idea if my path is correct but I am walking down this road anyways. Worst case scenario I learn a whole bunch of stuff that will help me out on my own personal projects.