Moim zdaniem więcej wyniesiesz z napisania własnych programów niż z analizowania cudzych. Z czytaniem (analizowaniem) cudzych programów to tak jest, że popatrzysz, powiesz sobie "jakie to proste, kumam to... i tym podobne". A jak przyjdzie potem samemu napisać coś podobnego, to robi się barykady nie do zdobycia. Analizowanie innych programów się przydaje jak masz już jakiś zasób wiedzy, umiejętności. Wtedy, gdy coś w Twoim programie nie chce "zaskoczyć", przejrzysz podobny i jesteś w stanie wyłapać ten smaczek, który zaważył na tym, że u Ciebie nie działa a u kogoś w podobnym programie działa.
Powtórz (przypomnij) sobie C od podstaw, nawet od tego co wydaje się banalne. A potem bierz się za tablice (wskaźniki) jednowymiarowe. Przeanalizuj sobie co to jest tablica, po co w tablicy dajemy zmienne, jak w pamięci komputera "usadowiona" jest tablica (dostęp do kolejnych pól w tablicy) najpierw za pomocą indeksów, np. tablica[2] a potem staraj się zrobić to samo tylko za pomocą wskaźników, np. *(tablica+2).
To tak tyle na wstępie co mogę powiedzieć. Jak będziesz miał jakieś problemy, to ja albo ktokolwiek inny z forum Ci pomoże.