Data types derived from the C language
Data types derived from the C language
The Vue language supports most of the data types defined in the C-89 specification. They include the signed and unsigned versions of the integral data types: char, short, int, long and long long. A "plain" char is treated as unsigned while the other integral types, if unqualified, are treated as signed. This matches the implementation of C on PowerPC. The Vue language also supports the floating types: float and double. In addition to these basic types of the C language, Vue also supports derived types like the array, structure, union and pointer types, the enumeration type and some incomplete types like void.
- Floating types
- You can only use a floating point type in simple assignment expressions and as arguments for functions like printf. In particular, you cannot use floating-point variables as operands of any unary or binary operators other than the assignment operator.
- Pointer types
- You can use pointers to dereference kernel or application data. However, you cannot declare pointers to Vue script variables or take their addresses.
- Character arrays
- You cannot use a character array as a string as in C, but must use the string data type.
- Incomplete types
- You cannot use array types of unknown size.
- Bit-field types
- The Vue compiler ignores bit-field declarations and the layout of structure or union types that contain members, which are bit-fields, is undefined.
- ILP32 and LP64 data models
- Generally, a C program can be compiled in either 32-bit mode where it follows the ILP32 data model or in 64-bit mode where it follows the LP64 model. Because the same Vue clause can be issued by both 32-bit and 64-bit processes, Vue internally supports both models at the same time.