例25.1应该是:printf("%s\n", buf); 而不是 printf(buf);多谢指出!
memcpy函数从src所指的内存地址拷贝n个字节到dest所指的内存地址; 上面的表达感觉像是 地址拷贝。 下面的表达是不是更好一些: memcpy函数从src所指的内存拷贝n个字节到dest所指的内存; 哈哈,个人意见!!!
di = (int *)d; si = (const int *)s; 最好指出这个程序在某些平台会失效。 有些平台不能处理 ‘没有对齐’的情况。
你说得很对,的确应该的提一句注意。
我这里用memcpy测试“hello world”的结果是对的,说明memcpy可以复制内存重叠的,这是为什么? 记得最近Linus由flash发现memcpy函数的bug这新闻中也提到复制内存可以重叠。
可能我在上面的评论描述的不是很清楚,http://www.if-yu.info/2010/11/16/about-memcpy.html,从这篇文章中看出,原来的memcpy是考虑内存重复的,谢谢。你的书写的相当不错:)
数组的长度可以是变量没吗?我记得好像只能是常数啊?
如果您有建设性意见,哪怕只是纠正一个错别字,也请不吝赐教,您留下的姓名和email将会出现在本书前言的致谢中。再次感谢您的宝贵意见!