- This topic is empty.
Viewing 1 post (of 1 total)
Viewing 1 post (of 1 total)
- You must be logged in to reply to this topic.
AI, Data Science, & Programming for Small Business Applications & Large Enterprises › Forums › CS50’s Introduction to Computer Science by Harvard University on Edx › Week 2: [Arrays] – Functions, Variable and Scope, Debugging, Arrays, and Command Line Arguments › Understanding arrays, pointers with an example
Tagged: arrays, define command, index, pointers
[dm_code_snippet background=”yes” background-mobile=”no” slim=”yes” line-numbers=”yes” bg-color=”#abb8c3″ theme=”dark” language=”clike” wrapped=”yes” height=”” copy-text=”Copy Code” copy-confirmed=”Copied”]
/* day_mon1.c -- prints the days for each month */ #include <stdio.h> #define MONTHS 12 int main(void) { int days[MONTHS = {31,28,31,30,31,30,31,31,30,31,30,31}; int index; for (index = 0; index < MONTHS; index++) printf("Month %d has %2d days.\n", index +1, days[index]); return 0; }
[/dm_code_snippet]
While trying to understand array, pointer in Week 2, I came across the above code (Source: C Primer Plus, Stephen Prata). Particularly, I cannot understand why days[index].
How is that int days [MONTHS] is replaced by days[index]? Is it that an array which is MONTHS in this case can be replaced by other variables (index in this case) while carrying out printf?
Not sure why this command will not compile:
printf(“Month %d has %2d days.\n”, index +1, days[MONTHS]);
To me, using days[MONTHS] instead of days[index] looks more plausible. I know I am missing in some key concept.
Reply
https://cs50.stackexchange.com/questions/42132/understanding-arrays-pointers-with-an-example[learn_press_profile]