Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
70f7d58
commit 1a04353
Showing
15 changed files
with
116 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
Equivalent to C's `char` type. | ||
|
||
[C's `char` type] is completely unlike [Rust's `char` type]; while Rust's type represents a unicode scalar value, C's `char` type is just an ordinary integer. In practice, this type will always be either [`i8`] or [`u8`], but you're technically not supposed to rely on this behaviour, as the standard only defines a char as being at least eight bits long. | ||
|
||
C chars are most commonly used to make C strings. Unlike Rust, where the length of a string is included alongside the string, C strings mark the end of a string with a zero. See [`CStr`] for more information. | ||
|
||
[C's `char` type]: https://en.wikipedia.org/wiki/C_data_types#Basic_types | ||
[Rust's `char` type]: ../../primitive.char.html | ||
[`CStr`]: ../../ffi/struct.CStr.html | ||
[`i8`]: ../../primitive.i8.html | ||
[`u8`]: ../../primitive.u8.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Equivalent to C's `double` type. | ||
|
||
This type will almost always be [`f64`], however, the standard technically only guarantees that it be a floating-point number with at least the precision of a [`float`]. | ||
|
||
[`float`]: type.c_float.html | ||
[`f64`]: ../../primitive.f64.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
Equivalent to C's `float` type. | ||
|
||
This type will almost always be [`f32`], however, the standard technically only guarantees that it be a floating-point number. | ||
|
||
[`f32`]: ../../primitive.f32.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Equivalent to C's `signed int` (`int`) type. | ||
|
||
This type will almost always be [`i32`], however, the standard technically only requires that it be at least the size of a [`short`]. | ||
|
||
[`short`]: type.c_short.html | ||
[`i32`]: ../../primitive.i32.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
Equivalent to C's `signed long` (`long`) type. | ||
|
||
This type will usually be [`i64`], but is sometimes [`i32`] \(i.e. [`isize`]\) on 32-bit systems. Technically, the standard only requires that it be at least 32 bits, or at least the size of an [`int`]. | ||
|
||
[`int`]: type.c_int.html | ||
[`i32`]: ../../primitive.i32.html | ||
[`i64`]: ../../primitive.i64.html | ||
[`isize`]: ../../primitive.isize.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Equivalent to C's `signed long long` (`long long`) type. | ||
|
||
This type will almost always be [`i64`], however, the standard technically only requires that it be at least 64 bits, or at least the size of an [`long`]. | ||
|
||
[`long`]: type.c_int.html | ||
[`i64`]: ../../primitive.i64.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Equivalent to C's `signed char` type. | ||
|
||
This type will almost always be [`i8`], but its size is technically equal to the size of a C [`char`], which isn't very clear-cut. | ||
|
||
[`char`]: type.c_char.html | ||
[`i8`]: ../../primitive.i8.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Equivalent to C's `signed short` (`short`) type. | ||
|
||
This type will almost always be [`i16`], however, the standard technically only requires that it be at least 16 bits, or at least the size of a C [`char`]. | ||
|
||
[`char`]: type.c_char.html | ||
[`i16`]: ../../primitive.i16.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Equivalent to C's `unsigned char` type. | ||
|
||
This type will almost always be [`u8`], but its size is technically equal to the size of a C [`char`], which isn't very clear-cut. | ||
|
||
[`char`]: type.c_char.html | ||
[`u8`]: ../../primitive.u8.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Equivalent to C's `unsigned int` type. | ||
|
||
This type will almost always be [`u32`], however, the standard technically on requires that it be the same size as an [`int`], which isn't very clear-cut. | ||
|
||
[`int`]: type.c_int.html | ||
[`u32`]: ../../primitive.u32.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
Equivalent to C's `unsigned long` type. | ||
|
||
This type will usually be [`u64`], but is sometimes [`u32`] \(i.e. [`usize`]\) on 32-bit systems. Technically, the standard only requires that it be the same size as a [`long`], which isn't very clear-cut. | ||
|
||
[`long`]: type.c_long.html | ||
[`u32`]: ../../primitive.u32.html | ||
[`u64`]: ../../primitive.u64.html | ||
[`usize`]: ../../primitive.usize.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Equivalent to C's `unsigned long long` type. | ||
|
||
This type will almost always be [`u64`], however, the standard technically only requires that it be the same size as a [`long long`], which isn't very clear-cut. | ||
|
||
[`long long`]: type.c_longlong.html | ||
[`u64`]: ../../primitive.u64.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Equivalent to C's `unsigned short` type. | ||
|
||
This type will almost always be [`u16`], however, the standard technically only requires that it be the same size as a [`short`], which isn't very clear-cut. | ||
|
||
[`short`]: type.c_short.html | ||
[`u16`]: ../../primitive.u16.html |