zoukankan      html  css  js  c++  java
  • 一个简单的初始化问题

                

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

  • 相关阅读:
    LeetCode(122. 买卖股票的最佳时机 II)
    LeetCode(485. 最大连续1的个数)

    约瑟夫问题
    链表
    队列
    稀疏数组
    乐优商城项目学习
    LeetCode_Climbing Stairs
    数据结构&&算法基础知识
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6471323.html
Copyright © 2011-2022 走看看