关闭

一个简单的初始化问题

标签: 编程语言c
1930人阅读 评论(1) 收藏 举报
分类:
            

         也许只有实践才知道自己的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}。这也说明编程是一门实践的学问。看书是必要的,但仅靠看书远远不够。只有不断实践才能有所进步。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3843608次
    • 积分:44448
    • 等级:
    • 排名:第77名
    • 原创:752篇
    • 转载:80篇
    • 译文:3篇
    • 评论:2458条
    公告


    真名:朱金灿
    主要经历:本科毕业于CUG(武汉)的GIS专业,毕业后参加工作,现在在北京从事软件开发和团队管理工作。曾获有色金属工业科技进步奖二等奖(获奖证书链接)。
    我的联系方式:
    EMAIL:clever101#163.com
    研究方向:
    数字图像处理、计算机图形学。

    本博客内容除非特殊说明均属原创,如需转载、引用其中的部分文字,请注意以下几点:

    1)如果我的博客侵犯了你的版权,请给我邮件:clever101#163.com,经核实后我会做出合适的处理。

    2)请在转载(引用)的内容提供本博客中相应文章的链接。如你的作品为非电子读物或纯文本,请给出链接的url。

    3)请勿将我的原创文章用于商业用途。

    4)如果愿意,请给我邮件:clever101#163.com,让我知道我的东西到哪去了。谢谢!

    5)我可以尽我所能回复你在评论中提到的问题,但一般不会给你发邮件,所以请勿留邮箱地址.

    文章存档
    最新评论