char *szBuff[256]和这样char szBuff[256]有什么区别?
就是指针数组和数组吗?
char *szBuff[256];我这样定义一个指针数组  下面的初始化正确吗?
memset(&szBuff,0,256);//初始化szBuff
还是直接这样呢→memset(szBuff,0,256);
char szBuff[256]   的初始化又是怎么样呢?   
为什么要初始化呢?

解决方案 »

  1.   

    char szBuff[256]   的初始化为memset(szBuff,0,256);char *szBuff[256]是指针数组,它的初始化应该为:
    for(int i = 0; i < 256; i++)
    {
      szBuff[i] = new char[256];
      memset(szBuff[i], 0, 256);
    }
      

  2.   

    >char *szBuff[256];我这样定义一个指针数组  下面的初始化正确吗?
    > memset(&szBuff,0,256);//初始化szBuff
    >还是直接这样呢→memset(szBuff,0,256);
    -------------------------
    请用 memset(szBuff,0,256);>char szBuff[256]   的初始化又是怎么样呢?   
    >为什么要初始化呢?
    -----------------------------
    请用 memset(szBuff,0,256);
    因为在 copy 字符串的及其它字符串操作的时候, 一般以 0 为结束判断符.
      

  3.   

    都用 memset(szBuff, 0, 256) 初始化
    声明变量其实是申请了一部分内存空间,而这些内存中可能原来就有数据。
    初始化是为了防止误用原来的垃圾数据。
      

  4.   

    1、char *szBuff[256]是指针数组,char szBuff[256]是字符串数组
    2、char *szBuff[256]用你的第一个初始化方法正确
    3、char szBuff[256]="YOU MUST SUTDY C++ HARD"来这样初始化。只是字符串的长度不要超过255,记住最后系统会自动添加一个结束符\0的!
    4、为什么初始化?你也可以不初始化,但是,你不为它赋初值拿来做什么用呢?
      

  5.   

    谢谢各位,,基本上理解了  
    angelwing559(腾飞的菜鸟)  我用他存取数据.....