<分区>
为什么 malloc
分配 6 个字节的 char
类型,但我需要 2 个字节。
如果我分配1个字节,他分配5个字节。
我不明白为什么。
#include "stdlib.h"
int main()
{
char *lin = malloc(2);
lin[0] = 'a';
lin[1] = 'b';
char *line = (char *)malloc(sizeof(char) * 2);
line[0] = 'z';
line[1] = 'b';
printf("lin = %s\nline = %s\n", lin, line);
get_next_line(fd, line);
return (0);
}
那表明控制台
lin = ab¤¤¤¤
line = zb¤¤¤¤