[语法比较][指针/引用]Lava和C/C++语法比较

这里的Lava指的是Lava3.4版本的.
Lava中的惟一的指针类型addr..相当于C/C++中的void *指针类型
Lava中取值符号有3大类..
第一类是取8位的大小的的值..如(char*)或*
第二类是取16位大小的值..如(int*)
第三类是取32位大小的值..如(long*)或(float*)

C/C++中只有惟一个取值符号...那就是*
依靠指针类型来判断到底应该取几位...
C/C++中指针类型有N种..比如int*,long*,char*...除了内置的指针类型..还可以为结构体定义指针类型..

以下是用Lava代码写的用来测试取值符号的例子:

//this code is only for Lava3
//test for per&&reference of Lava3

void main(){
char char8;                   //无符号8位整型
int int16;   long long32;   //16和32位有符号整型
float float32;                 //32位IEEE浮点数
addr p;                 //无类型指针

char8=0xFF;int16=-0x7FFF;long32=0x7FFFFFFF;
float32=0.1;

p=&char8;
printf("*p=%d/n",*p);
printf("(char*)p=%d/n",(char *)p);

p=&int16;
printf("(int*)p=%d/n",(int*)p);

p=&long32;
printf("(long*)p=%d/n",(long*) p);

p=&float32;
printf("(float*)p=%f",(long *)p);
getchar();
}

 

还有根据测试..Lava不支持独立引用..只支持返回引用..(虽然说明书的例子用的是独立引用..)
根据以前的测试..Lava的结构体变量..跟C/C++的结构体变量也存在不同..
Lava的结构体变量相当于C/C++中的结构体指针..
声明一个Lava的结构体变量如struct structtype s;..相当于 C/C++中的中的结构体指针,如structtype *s=new structtype;
Lava中结构体变量可以直接用.号来指向成员变量..而C/C++中结构体指针需要使用->来指向成员变量..

....所以移植c/c++代码为Lava是需要大幅度改代码的..如果代码里面包含指针/引用/结构体

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值