我有一个字符串malloced一个字节:
char * word = malloc(sizeof(char));
我有另一个字符串source.content
。需要将此字符串的前几个字符复制到word
并使用循环来完成工作:
for (int i = 0; isalnum(source.content[0]); ++i)
{
word[i] = source.content[0];
source.content += 1;
}
循环结束后,我终止word
:
word[strlen(token.value)-1] = '\0';
我的问题是,为什么上面的程序在复制超过1个字符到word
时工作,即使它只为1个字符进行了malloced?当我在每个循环中实现一个额外的字节时,它只会慢一些。