Skip to main content

Posts

Showing posts from January 14, 2018

Learning C from Snippets : Pointers to structures

struct exam{ int a; char *ch; }st[]={10,"Testing",11,"Computer",12,"Science",13,"Engineering",14,"Custo",15,"2018"}; int main() { struct exam *e = st; printf("%s, ",e++->ch); ++e; printf("%s, ",++e->ch);   // -> operator has higher precedence than the ++ opearator. printf("%s, ",++e++->ch); printf("%d, ",e[0].a); printf("%s",++e->ch); return 0; } OUTPUT : Testing, cience, ience, 13, ngineering

Learning C from Snippets : What does pointer +1 means ?

int main(int argc, char** argv) { char p[3][4]={{'R','B','R','a'},{'S','R','K','a'},{'A','P','J','a'}}; printf("%d\n",p); //Prints 7339584 printf("%d",p+1); //Prints 7339588 , i.e there is an addition of 4 to the previous number return 0; } int main(int argc, char** argv) { char p[3][3]={{'R','B','R'},{'S','R','K'},{'A','P','J'}}; printf("%d\n",p); //Prints 7339584 printf("%d",p+1);//Prints 7339583 return 0; } _________________________________________________________________________________ int main(int argc, char** argv) { char p[3][2]={{'R','A'},{'S','R'},{'A','P'}}; printf("%c",*(p+1)); //Prints B return 0; } int main(int argc, char** argv) { char p[3][3]={{'R','B','R