当前位置:编程学习 > VB >>

vb 中的 string 和 byte数组的本质区别是什么?

请问,vb中的string和byte数组的本质区别是什么 在C语言中 字符串是字符数组后加一位‘\0’ VB是否也是这样?

--------------------编程问答-------------------- string和byte数组的根本区别是前者的数组元素是字串,后者是字节.比如,汉字"数组的根本区别",可作为数组一元素,但在byte数组中,就是14个元素(一个汉字2个字节). --------------------编程问答-------------------- VB字符串的结尾是一个不计长度的Chr(0) --------------------编程问答-------------------- 那string在内存中不也是以二进制码的形式存的么,每个字符同样是1个字节的ascII码啊。 --------------------编程问答-------------------- 一个ascII码就是一字节
string=化合物,字节=单质. 基本组成单位:原子


--------------------编程问答-------------------- vb的string相当于VC++中的BSTR型,不以0结尾为标志 --------------------编程问答-------------------- 楼上是对的,另外vb中的字符时unicode不是ascii --------------------编程问答-------------------- 本质上都没有区别,都是内存里的一段数据 --------------------编程问答--------------------
引用楼主 finalzsix 的回复:
请问,vb中的string和byte数组的本质区别是什么 在C语言中 字符串是字符数组后加一位‘\0’ VB是否也是这样?


1、
-----------------------
vb的string变量,用法
dim c as string
c="I am happ"

它类似于c语言的
char c[]="I am happy";
------------------------

vb的byte变量(它是10进制的0~255),可以参与数值表达式进行运算,用法
dim c as byte
c=97 '只能赋0~255的数值

它类似于C语言的
char c=97;

char c='a';

vb中的string和byte数组的本质区别是什么?

在VB中string是以字符形式连续存在,byte数组是以ascii码数值形式连续存在的。

vb中处理字符一般用string,很方便,很多字符串处理函数都是真对string变量的,不能用于byte数组,比如left、 right、 mid等。
vb中一般只在与下位机通信时采用byte数组来处理字符串或大于255的数值的传送。

2、不需要。


--------------------编程问答-------------------- 在内存中所占用的空间是不一样的。类似汇编语言中的,DB,DW的区别 --------------------编程问答-------------------- 要从内存数据的角度来说,本质上没区别...
要从vb的角度说, 字节数组是所有vb数据类型的基础,可以通过方法, 
与任何类型相互转换,和string什么关系,简单来讲,因为vb支持方便的 string和byte() 相互转换, 
byte() 即可以存string的数据,也可以存long的数据,关键就在于你怎么看这些数据,就是所谓数据类型了
--------------------编程问答--------------------
引用楼主 finalzsix 的回复:
请问,vb中的string和byte数组的本质区别是什么 在C语言中 字符串是字符数组后加一位‘\0’ VB是否也是这样?

VB可能需要额外的空间保存变量类型。
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,