memset 后 为什么不能直接赋值
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { //char* buffer = "haowei"; unsigned char buffer[10] = "haowei"; memset(buffer, 0x00, sizeof(buffer)); printf("%sn", "initializing string"); //buffer = "haowei"; strcat(buffer, "haowei"); printf("%sn", buffer); return 0; }
memset 后 为什么不能直接赋值,新手求教.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
类型不一致
你能说的详细一下吗? 谢谢
你这不是来钓鱼的吧?
buffer不是变量怎么赋值
嗯, 为什么不能直接赋值啊
你想要
buffer = "haowei";?
char buffer[] = "haowei"; //用字面值初始化数组buffer, 对的
buffer="haowei"; //试图把char* 类型得值传递给char[]类型, 错误
//应该用memcpy(buffer, “haowei”, sizeof(buffer))
//数组名做右值使用时,自动转化为首元素地址
总结:c语言语法晦涩, 需要慢慢理解