请教这里TChar szAppName[] = "Hello";
是定义一个字符串类型的变量szAppName?
为什么szAppName后面要加个[],是动态数组嘛?

解决方案 »

  1.   

    那竟然是字符数组,这里TChar szAppName[] ="Hello";
    为什么用的时候就是szAppName,而不是szAppName[0]呢,
    还有如果是数组那么如何初始赋多个值呢?
      

  2.   

    1 .是字符数组,是自动根据初始化的字符串长度得到数组的长度2. szAppName[0]是表示szAppName字符串的第一个字符3. 楼主对字符和字符串好像不是很清楚啊
      

  3.   

    还有如果是数组那么如何初始赋多个值呢?
    ----------------------------------------------------
    TChar szAppName[] ="Hello";
    这行的含义:
    1 声明一个字符串数组并初始化,长度自动根据初始化的内容调节,但一旦初始化后长度也就固定了,这里为6个字节(末尾自动也是必须加一个字节用来放终止符的);
    2 执行本语句后szAppName中的具体元素内容:
     szAppName[0]='H';
     szAppName[1]='e';
     szAppName[2]='l';
     szAppName[3]='l';
     szAppName[4]='o';
     szAppName[5]='\0';    //这个就是大家常说的字符终止符了,它实质上就等于0,也就是NULL
      

  4.   

    多谢各位帮忙啊,小弟今天才开始学习VC不太清楚,以前是delphi的,不过原先我已为这里定义的是一个动态的字符串数组,所以搞错了,原来是个字符数组,明白了!
      

  5.   

    楼上freemme(路在脚下)朋友解释得很清楚了:
    用szAppName的时候,系统自动从szAppName[0],也就是字符串数组中第一个元素开始找起,直到找到第一个字符串终止符为止,期间找到的所有内容(也就是字符串了)就是szAppName所表示的返回值了。