#include <stdio.h>#include <string.h>struct A{ int k[10]; int l[10]; int m[10];};struct B{ int a[10]; int b[10]; int c[10];};struct A *f2(struct A *q);void f3(void);int main(void){ f3(); return 0;}void f3(void){ int d[9]={1,1,1,1,1,1,1,1,1}; int i; struct B b; memcpy(b.a,d,sizeof d); memcpy(b.b,d,sizeof d); memcpy(b.c,d,sizeof d); printf("Values before function f2()\n\n\n"); for(i=0;i<9;i++) { printf("Values In a[i] %d,Values In b[i] %d,Values In c[i] %d\n\n", b.a[i],b.b[i],b.c[i]); } f2((struct A*)&b); printf("Values 1 after function f2()\n\n\n"); for(i=0;i<9;i++) { printf("Values In a[i] %d,Values In b[i] %d,Values In c[i] %d\n\n", b.a[i],b.b[i],b.c[i]); } f2((struct A*)&b); printf("Values 1 after function f2()\n\n\n"); for(i=0;i<9;i++) { printf("Values In a[i] %d,Values In b[i] %d,Values In c[i] %d\n\n", b.a[i],b.b[i],b.c[i]); }}struct A *f2(struct A *q){ int i; for(i=0;i<9;i++) { q->k[i]=q->k[i]+1; q->l[i]=q->l[i]+1; q->m[i]=q->m[i]+1; } return q;}
#include <stdio.h>#include <string.h>struct A{ int a[10]; int b[10]; int c[10];};void f2(struct A *q);void f3(void);int main(void){ f3(); return 0;}void f3(void){ int d[9]={1,1,1,1,1,1,1,1,1}; int i; static struct A b; memcpy(b.a,d,sizeof d); memcpy(b.b,d,sizeof d); memcpy(b.c,d,sizeof d); printf("Values before function f2()\n\n\n"); for(i=0;i<9;i++) { printf("Values In a[i] %d,Values In b[i] %d,Values In c[i] %d\n\n", b.a[i],b.b[i],b.c[i]); } f2(&b); printf("Values 1 after function f2()\n\n\n"); for(i=0;i<9;i++) { printf("Values In a[i] %d,Values In b[i] %d,Values In c[i] %d\n\n", b.a[i],b.b[i],b.c[i]); } f2(&b); printf("Values 1 after function f2()\n\n\n"); for(i=0;i<9;i++) { printf("Values In a[i] %d,Values In b[i] %d,Values In c[i] %d\n\n", b.a[i],b.b[i],b.c[i]); }}void f2(struct A *q){ int i; for(i=0;i<9;i++) { q->a[i]=q->a[i]+1; q->b[i]=q->b[i]+1; q->c[i]=q->c[i]+1; }}