Variables & kind of memory
Salih Dincer
salihdb at hotmail.com
Sat Apr 23 04:57:16 UTC 2022
On Saturday, 23 April 2022 at 03:41:17 UTC, Alain De Vos wrote:
> I wrote a simple test program:
> ```d
> import std.stdio:writefln;
>
> int [] GLV=[1,2];
> int [2] GLF=[1,2];
>
> // paste it ->>
>
> static int [] GSLV=[1,2];
> static int [2] GSLF=[1,2];
>
> void main()
> {
>
> }
> ```
First of all, there is no such thing as a global region in D.
Although the addresses are different, we have 2 regions:
* **AAA:** Stack
* **BBB:** Heap
Yes, there are a lot of expressions: ```static, const, immutable,
shared etc.``` But the expressions matters to D compiler. Two
concepts are important to us: the inter-module region and the
```main()``` function where the code starts to run.
Please paste the following into the inter-module region. Turn it
on/off with the toggle (//) sign and see the difference.
```d
//auto data = iota(1024).array; /*
int[] data;
static this() {
data = new int[1024];
} //*/
void main()
{
writefln("%12x, %12x", &data[0], &data[$-1]);
}
```
SDB at 79
More information about the Digitalmars-d-learn
mailing list