#include <stdio.h>
#include <stdlib.h>
struct person {
int age;
float weight;
char *name;
};
int main()
{
struct person *ptr;
int i, num;
printf("Enter number of persons: ");
ptr
= (struct person
*) malloc(num
* sizeof(struct person
)); // Above statement allocates the memory for n structures with pointer personPtr pointing to base address */
ptr
->name
=(char*)malloc(num
*sizeof(char));
for(i = 0; i < num; ++i)
{
printf("Enter name, age and weight of the person respectively:\n"); scanf("%s%d%f",&ptr
->name
[i
], &(ptr
+i
)->age
, &(ptr
+i
)->weight
); }
printf("Displaying Infromation:\n"); for(i = 0; i < num; ++i)
printf("%s\t%d\t%.2f\n", ptr
->name
[i
], (ptr
+i
)->age
, (ptr
+i
)->weight
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4Kc3RydWN0IHBlcnNvbiB7CiAgIGludCBhZ2U7CiAgIGZsb2F0IHdlaWdodDsKICAgY2hhciAqbmFtZTsKfTsKCmludCBtYWluKCkKewogICAgIHN0cnVjdCBwZXJzb24gKnB0cjsKICAgICBpbnQgaSwgbnVtOwoKICAgICAgIHByaW50ZigiRW50ZXIgbnVtYmVyIG9mIHBlcnNvbnM6ICIpOwogICBzY2FuZigiJWQiLCAmbnVtKTsKICAgIAogICAgIHB0ciA9IChzdHJ1Y3QgcGVyc29uKikgbWFsbG9jKG51bSAqIHNpemVvZihzdHJ1Y3QgcGVyc29uKSk7CiAgIC8vIEFib3ZlIHN0YXRlbWVudCBhbGxvY2F0ZXMgdGhlIG1lbW9yeSBmb3IgbiBzdHJ1Y3R1cmVzIHdpdGggcG9pbnRlciBwZXJzb25QdHIgcG9pbnRpbmcgdG8gYmFzZSBhZGRyZXNzICovCgogICAgICBwdHItPm5hbWU9KGNoYXIqKW1hbGxvYyhudW0qc2l6ZW9mKGNoYXIpKTsKCiAgICAgIGZvcihpID0gMDsgaSA8IG51bTsgKytpKQogICB7CiAgICAgICBwcmludGYoIkVudGVyIG5hbWUsIGFnZSBhbmQgd2VpZ2h0IG9mIHRoZSBwZXJzb24gcmVzcGVjdGl2ZWx5OlxuIik7CiAgICAgICBzY2FuZigiJXMlZCVmIiwmcHRyLT5uYW1lW2ldLCAmKHB0citpKS0+YWdlLCAmKHB0citpKS0+d2VpZ2h0KTsKICAgfQoKICAgICBwcmludGYoIkRpc3BsYXlpbmcgSW5mcm9tYXRpb246XG4iKTsKICAgICAgZm9yKGkgPSAwOyBpIDwgbnVtOyArK2kpCiAgICAgICBwcmludGYoIiVzXHQlZFx0JS4yZlxuIiwgcHRyLT5uYW1lW2ldLCAocHRyK2kpLT5hZ2UsIChwdHIraSktPndlaWdodCk7CgogICByZXR1cm4gMDsKfQo=