c
1#include <stdio.h> 2#include<stdlib.h> 3struct name { 4 int a; 5 float b; 6 char c[30]; 7}; 8int main(){ 9 struct name *ptr; 10 int i,n; 11 printf("Enter n: "); 12 scanf("%d",&n); 13 ptr=(struct name*)malloc(n*sizeof(struct name)); 14/* Above statement allocates the memory for n structures with pointer ptr pointing to base address */ 15 for(i=0;i<n;++i){ 16 printf("Enter string, integer and floating number respectively:\n"); 17 scanf("%s%d%f",&(ptr+i)->c,&(ptr+i)->a,&(ptr+i)->b); 18 } 19 printf("Displaying Infromation:\n"); 20 for(i=0;i<n;++i) 21 printf("%s\t%d\t%.2f\n",(ptr+i)->c,(ptr+i)->a,(ptr+i)->b); 22 return 0; 23}
ptr=(struct name*)malloc(nsizeof(struct name));
sizeof以外、すべてわかりません・・・何をしているんですか?
name 後ろにある「*」って、ポインタですか?
あと、(n*sizeof(struct name)って掛け算ですか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。