Здравствуйте! «Правильно» ли я выделяю код для для текстовых строк (*s)? Является ли такой способ «экономичным» для хранения массива текстовых данных?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct str_t {
	char     *s;
        double    e;
	int   a,b,c;
	long int  f;
} *pstr;
const int N=5;
char string_buf[80];
int main(){
pstr=(struct str_t*)malloc(N*sizeof(struct str_t));              
int i;
for(i=0;i<N;i++){
  scanf("%s",string_buf);		                                 
  pstr[i].s=(char *)malloc(strlen(string_buf)*sizeof(char));   
  strcpy(pstr[i].s,string_buf); 	                             
};
for(i=0;i<N;i++) free(pstr[i].s);
free(pstr);
return 0;
}






