一个简单的初始化问题

            

         也许只有实践才知道自己的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);就没有了错误。
为什么不能像之前那样初始化呢?

编译环境:Win2000VC 6.0

 

     经过高手解答我才知道

char  m_cBuffer[sbf];
m_cBuffer[sbf];
是不同的,前者是一个数组,后者是一个元素。

 

    因此只有在声明数组变量的时候才能这么用 char buf[10]= {0}。这也说明编程是一门实践的学问。看书是必要的,但仅靠看书远远不够。只有不断实践才能有所进步。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

clever101

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值