## digitalmars.D - Empty array vs. null array (WAS: Re: Arrays)

Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
```Walter Bright wrote:
2) An empty array is equal to a null pointer. Yikes!

Not exactly, although a null array is also an empty array, the

reverse is not true.

Really? So what exactly is the difference?

--
Bruno Medeiros - Software Developer, MSc. in CS/E graduate
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
```
Apr 26 2008
```On 26/04/2008, Bruno Medeiros <brunodomedeiros+spam com.gmail> wrote:
Walter Bright wrote:
>>
>> 2) An empty array is equal to a null pointer. Yikes!
>
> Not exactly, although a null array is also an empty array, the reverse is
not true.

Really? So what exactly is the difference?

If (array.length == 0) then it's an empty array.
If (array.ptr == 0 && array.length == 0) then it's a null array.
```
Apr 26 2008
Bruno Medeiros <brunodomedeiros+spam com.gmail> writes:
```Janice Caron wrote:
On 26/04/2008, Bruno Medeiros <brunodomedeiros+spam com.gmail> wrote:
Walter Bright wrote:
>>
>> 2) An empty array is equal to a null pointer. Yikes!
>
> Not exactly, although a null array is also an empty array, the reverse is
not true.

Really? So what exactly is the difference?

If (array.length == 0) then it's an empty array.
If (array.ptr == 0 && array.length == 0) then it's a null array.

True.
But that only makes an empty array not the *same* as a null array. They
are still equal (in terms of equality, think of the equality operator),
which I believe is what the original poster was thinking about, and I
agree. Since Walter refuted that by saying "Not exactly", I was trying
to learn why, but probably Walter just misunderstood the OP.

--
Bruno Medeiros - Software Developer, MSc. in CS/E graduate
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
```
Apr 26 2008