This week for CST 334 was frustrating. The number of times I've flipflopped between
"I do not understand pointers"
and
"I do understand pointers"
has been staggering. I think the main problem is not necessarily in understanding the definition of what a pointer is (that I understand - a pointer is just a variable that points to another variable's memory address where its actual data is stored), but rather the practice of reading and writing them comfortably in a given code. While I understand the definition, sometimes I freeze up when I "visually" try to make sense of how it actually works when I see (*variable) or *(*(variable)) as I try to "map" out who's related to who. It is rather easy to get lost.
However, a satisfying part of this week is that I feel more comfortable in my understanding of memory diagrams and how computer memory actually functions. I now understand the concept of virtual memory while I am still trying to make sense of segmentation and topics involving free space management such as memory allocation to a greater detail. Dr. Ogden's videos are actually really helpful, and I should find a way to download or preserve them for personal future reference.
With that being said, my small victory there ended the moment I started to work on assignment #3. I've realized just how weak my reading skill is when it comes to the C language. Once again, it was easy to become lost amongst all the pointers usage. Every function utilized one and each node had their own pointers forward and backward. I think I've also had to deal with what is called as "pointer arithmetic"? Or was it called "type arithmetic"? It involved type casting certain pointers to a certain type to perform arithmetic operations then typecast back to the original. That definitely gave me a good run session as I poured over tutorial videos on YouTube.
No comments:
Post a Comment