您的位置:首页 > 其它

一个简单的初始化问题

2006-05-30 00:24 351 查看
也许只有实践才知道自己的C语言基础有多薄弱。今天在VC知识库论坛上问了一个弱弱的问题。
我在一个类里声明:

enum { sbf=1024*63 };
char m_cBuffer[sbf];

然后在构造函数里初始化:
m_cBuffer[sbf] = {'/0'};

编译时出现了这些错误:

syntax error : '{'
missing ';' before '{'
missing ';' before '}'

之后我将这个初始化语句改为memset(m_cBuffer,'/0',sbf);就没有了错误。
为什么不能像之前那样初始化呢?

编译环境:Win2000,VC 6.0

经过高手解答我才知道
char m_cBuffer[sbf];
和m_cBuffer[sbf];
是不同的,前者是一个数组,后者是一个元素。

因此只有在声明数组变量的时候才能这么用 char buf[10]= {0}。这也说明编程是一门实践的学问。看书是必要的,但仅靠看书远远不够。只有不断实践才能有所进步。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: