メモリ割り当てについてよくわからない
Posted: 2015年3月09日(月) 18:46
構造体を使い、それをメモリ割り当てする三角形の面積を求めるプログラミングを作成しました。(c言語です)
メモリ割り当てについて持っている教材ではよくわからず、とりあえず割り当てまでは出来ました。しかし、これを「使う」というところで詰まっています。メモリ割り当てしたものの使い方を教えて下さい。
メモリ割り当てについて持っている教材ではよくわからず、とりあえず割り当てまでは出来ました。しかし、これを「使う」というところで詰まっています。メモリ割り当てしたものの使い方を教えて下さい。
#include <stdio.h>
#include <stdlib.h>
#define DBG() printf("%s(%d) ", __FILE__, __LINE__)
struct s_type{
int takasa;
int teihen;
double area;
}s;
double keisan(int takasa, int teihen){
DBG();
return (double)s.takasa * (double)s.teihen / 2.0;
}
int main(void){
struct s_type *mbuf;
mbuf = (struct s_type *)malloc( sizeof(struct s_type) );
if (!mbuf) {
printf("メモリ割り当てエラー");
exit(1);
}
double (*p)(int, int);
printf("高さの入力\n");
for( ; ; ){
scanf("%d", &s.takasa);
if(s.takasa < 1){
printf("もう一度入力してください");
} else {
break;
}
}
printf("底辺を入力\n");
for( ; ; ){
scanf("%d", &s.teihen);
if(s.teihen < 1){
printf("もう一度入力してください");
} else {
break;
}
}
s.area = keisan(s.takasa, s.teihen);
printf("\n三角形の面積は%f\n", s.area);
free(mbuf);
return 0;
}