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

原创 2006年05月21日 14:20:00

这里的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是需要大幅度改代码的..如果代码里面包含指针/引用/结构体

C、C++、Java三种语言语法对比(一)

C语言是我接触的第一门课程,当时根本就不知道计算机的世界有多大,计算机行业的体系架构是怎样的,就好像站在一座摩天大楼的门口,只知道这栋大厦非常宏伟,但不知其内部构造,而C语言正是我看到的那座门。 之...
  • u013720726
  • u013720726
  • 2017年03月27日 22:58
  • 186

Objective-C的语法对比(和Java的对比)

Objective-C的语法对比(和Java的对比) 1、函数的对比 例子: helloworld方法 Java 语言:     public void helloWorld...
  • wanlixingzhe
  • wanlixingzhe
  • 2014年06月01日 14:49
  • 5420

Java和C/C++的差异总结

总结一下Java的小知识,只是想稍微提醒一下自己这些基础的东西,放在这里,随时可以阅览和添加一下,以免走错了方向。 1.面向对象程序设计 面向对象程序设计语言可以直观的反映客观世界的真实表...
  • Frimish
  • Frimish
  • 2015年12月08日 15:17
  • 1127

C++ 指针比较大小

C++ 指针比较大小 对象指针的值是映射到线性地址空间的整数值,C/C++允许对两个类型相同的对象指针进行比较运算,包括==、!=、、=。所以LZ问题的答案是肯定的。 对于不同类型的对象指针,经过转...
  • zyxlinux888
  • zyxlinux888
  • 2012年10月29日 11:19
  • 5461

C++中指针大小比较问题

只有两个指向同一数组的指针才可以比较。指针即地址,指针比较是地址前后的比较。...
  • yangxingpa
  • yangxingpa
  • 2017年12月12日 10:43
  • 162

C和C++语法区别汇总

C和C++是两门不同的语言,在平常使用中经常出现混编的
  • u012234115
  • u012234115
  • 2014年09月25日 12:08
  • 3176

C语言 字符数组与字符指针比较

#include /*   字符数组会在定以后预先分配内存空间字符串是常量所以会直接把字符串拷贝到数组中,   因为数组地址不同,所以不相等·   字符指针不会预先分配内存空间,直接指向字符串...
  • pangqiandou
  • pangqiandou
  • 2016年10月09日 19:47
  • 1132

C++ 与 python 语法 对比

C++ 与 python 语法 对比flyfish**变量定义** //C++ int a = 8, b = 9; //python i = 10 print(i)**条...
  • flyfish1986
  • flyfish1986
  • 2017年01月03日 10:22
  • 1175

C#与C/C++部分基础语法差异

博主最近在学习C#,以前摸过C和C++在学习C#基础语法时可以快速的略过,但是C#的基础语法和C和C++还是有差异,有的甚至是完全不同的,我在这里写出来打算加强自己的记忆与理解,同时希望能对其他准备开...
  • Hermit_Inwind
  • Hermit_Inwind
  • 2016年01月24日 23:10
  • 1362

C++对象指针比较比较的并不是地址值

在C++中,在有继承的情况下,一个对象可以有多个有效地址,因同一个子类对象,被不同的父类指针指向时,各个父类指针的值是不同的。分析一段如下代码:#include #include using nam...
  • u010154685
  • u010154685
  • 2017年01月27日 16:40
  • 908
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[语法比较][指针/引用]Lava和C/C++语法比较
举报原因:
原因补充:

(最多只允许输入30个字)