malloc関数について
C言語を勉強中の者です。
参考書にて下記のmalloc関数のプログラムが書かれていたのですが、
str = (char *)
の部分から何がどう行われているのかわかりません。
説明できる方よろしくお願いいたします。
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
char *str;
int num,i;
printf("何文字のAを用意しますか?\n");
scanf("%d",&num);
str = (char *)malloc(sizeof(char) * (num+1));
if(!str){
printf("メモリを確保できませんでした。\n");
return 1;
}
for(i=0;i<num;i++){
*(str+1) = 'A';
}
*(str+num) = '\n;
printf("%sを用意できました。\n",str);
free(str);
return 0;
}