- 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.
Software programming learning aide
CS50 threads to aide as a supplementary resource › Forums › CS50’s Introduction to Computer Science by Harvard University on Edx › Week 2 › Understanding arrays, pointers with an example
Tagged: arrays, define command, index, pointers
/* 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;
}
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]