<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.kram.nz/index.php?action=history&amp;feed=atom&amp;title=SE250%3Alab-2%3Ahbar055</id>
	<title>SE250:lab-2:hbar055 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.kram.nz/index.php?action=history&amp;feed=atom&amp;title=SE250%3Alab-2%3Ahbar055"/>
	<link rel="alternate" type="text/html" href="https://wiki.kram.nz/index.php?title=SE250:lab-2:hbar055&amp;action=history"/>
	<updated>2026-04-28T22:35:50Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.kram.nz/index.php?title=SE250:lab-2:hbar055&amp;diff=4860&amp;oldid=prev</id>
		<title>Mark: 5 revision(s)</title>
		<link rel="alternate" type="text/html" href="https://wiki.kram.nz/index.php?title=SE250:lab-2:hbar055&amp;diff=4860&amp;oldid=prev"/>
		<updated>2008-11-03T05:18:57Z</updated>

		<summary type="html">&lt;p&gt;5 revision(s)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Number 1&lt;br /&gt;
&lt;br /&gt;
Are all the pointers the same size?&lt;br /&gt;
The first question required for the user to check the size of each data types and compare them&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
int = 4&lt;br /&gt;
Short = 4&lt;br /&gt;
Float = 4&lt;br /&gt;
Double = 4&lt;br /&gt;
char = 4&lt;br /&gt;
&lt;br /&gt;
Linux:&lt;br /&gt;
int = 4&lt;br /&gt;
Short = 4&lt;br /&gt;
Float = 4&lt;br /&gt;
Double = 4&lt;br /&gt;
char = 4&lt;br /&gt;
&lt;br /&gt;
The result shows that the size of the data types are the same.&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Number 2&lt;br /&gt;
&lt;br /&gt;
What is the difference between (long)(&amp;amp;x - &amp;amp;y) and (long)&amp;amp;x - (long)&amp;amp;y?&lt;br /&gt;
&lt;br /&gt;
For (long)(&amp;amp;x - &amp;amp;y), it will give:&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;amp;x = 0x22ccc4, &amp;amp;y = 0x22ccc0, diff = 1&lt;br /&gt;
&lt;br /&gt;
Linux:&lt;br /&gt;
&amp;amp;x = 0xffb8c71c, &amp;amp;y = 0xffb8c718, diff = 1&lt;br /&gt;
&lt;br /&gt;
For (long)&amp;amp;x - (long)&amp;amp;y, it will give:&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;amp;x = 0x22ccc4, &amp;amp;y = 0x22ccc0, diff = 4 &lt;br /&gt;
&lt;br /&gt;
Linux:&lt;br /&gt;
&amp;amp;x = 0xffbb371c, &amp;amp;y = 0xffbb3718, diff = 4&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Number 3&lt;br /&gt;
&lt;br /&gt;
What is the size of the array?&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
4&lt;br /&gt;
Linux:&lt;br /&gt;
4&lt;br /&gt;
&lt;br /&gt;
What is the address of arr? What are the values of &amp;amp;arr, arr+4 and arr[4]?&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
arr = 0x22ccc0&lt;br /&gt;
&amp;amp;arr = 2280640&lt;br /&gt;
arr+4 = 2280644&lt;br /&gt;
&amp;amp;arr[4] = 2280644&lt;br /&gt;
&lt;br /&gt;
Linux:&lt;br /&gt;
arr = 0x22ccc0&lt;br /&gt;
&amp;amp;arr = 2280640&lt;br /&gt;
arr+4 = 2280644&lt;br /&gt;
&amp;amp;arr[4] = 2280644&lt;br /&gt;
&lt;br /&gt;
Print out the values of x and y&lt;br /&gt;
&lt;br /&gt;
Difference between x &amp;amp; y when arr is zero:&lt;br /&gt;
&lt;br /&gt;
Arr = 0:&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;amp;x = 0x22ccbc, &amp;amp;y = 0x22cc9c, diff = 8 &lt;br /&gt;
Linux:&lt;br /&gt;
&amp;amp;x = 0xffb6871c, &amp;amp;y = 0xffb68718, diff = 1&lt;br /&gt;
&lt;br /&gt;
Arr = 1:&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;amp;x = 0x22ccc4, &amp;amp;y = 0x22ccbc, diff = 2 &lt;br /&gt;
Linux:&lt;br /&gt;
&amp;amp;x = 0xff883718, &amp;amp;y = 0xff883714, diff = 1&lt;br /&gt;
&lt;br /&gt;
Arr = 2:&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;amp;x = 0x22ccc4, &amp;amp;y = 0x22ccbc, diff = 2 &lt;br /&gt;
Linux:&lt;br /&gt;
&amp;amp;x = 0xff9c9718, &amp;amp;y = 0xff9c9714, diff = 1&lt;br /&gt;
&lt;br /&gt;
Arr = 3:&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;amp;x = 0x22ccbc, &amp;amp;y = 0x22cc9c, diff = 8&lt;br /&gt;
Linux:&lt;br /&gt;
&amp;amp;x = 0xff8f9718, &amp;amp;y = 0xff8f9714, diff = 1&lt;br /&gt;
&lt;br /&gt;
Arr = 4:&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;amp;x = 0x22ccc4, &amp;amp;y = 0x22ccbc, diff = 2&lt;br /&gt;
Linux:&lt;br /&gt;
&amp;amp;x = 0xff96371c, &amp;amp;y = 0xff963714, diff = 2&lt;br /&gt;
&lt;br /&gt;
Arr = 5:&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;amp;x = 0x22ccbc, &amp;amp;y = 0x22cc9c, diff = 8&lt;br /&gt;
Linux:&lt;br /&gt;
&amp;amp;x = 0xffc0871c, &amp;amp;y = 0xffc08718, diff = 1&lt;br /&gt;
&lt;br /&gt;
Arr = 6:&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;amp;x = 0x22ccbc, &amp;amp;y = 0x22cc9c, diff = 8 &lt;br /&gt;
Linux:&lt;br /&gt;
&amp;amp;x = 0xffba171c, &amp;amp;y = 0xffba1718, diff = 1&lt;br /&gt;
&lt;br /&gt;
Arr = 7:&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;amp;x = 0x22ccbc, &amp;amp;y = 0x22cc9c, diff = 8 &lt;br /&gt;
Linux:&lt;br /&gt;
&amp;amp;x = 0xffd2a71c, &amp;amp;y = 0xffd2a718, diff = 1&lt;br /&gt;
&lt;br /&gt;
Arr = 8:&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;amp;x = 0x22ccc4, &amp;amp;y = 0x22ccb4, diff = 4&lt;br /&gt;
Linux:&lt;br /&gt;
&amp;amp;x = 0xffe98710, &amp;amp;y = 0xffe9870c, diff = 1&lt;br /&gt;
&lt;br /&gt;
Arr = 9:&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;amp;x = 0x22ccbc, &amp;amp;y = 0x22cc9c, diff = 8 &lt;br /&gt;
Linux:&lt;br /&gt;
&amp;amp;x = 0xffc0670c, &amp;amp;y = 0xffc06708, diff = 1&lt;br /&gt;
&lt;br /&gt;
Arr = 10:&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;amp;x = 0x22ccbc, &amp;amp;y = 0x22cc9c, diff = 8&lt;br /&gt;
Linux:&lt;br /&gt;
&amp;amp;x = 0xfff0770c, &amp;amp;y = 0xfff07708, diff = 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reverting the size to 4, we get:&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
x = 10, y = 0 &lt;br /&gt;
Linux:&lt;br /&gt;
x = 167772160, y = 0&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Number 4&lt;br /&gt;
&lt;br /&gt;
Repeat Task2 and Task3 with x and y variables being globel variables. &lt;br /&gt;
&lt;br /&gt;
Windows results: &lt;br /&gt;
size of array = 4 &lt;br /&gt;
&amp;amp;arr = 0x403030 &lt;br /&gt;
arr+4 = 0x403034 &lt;br /&gt;
&amp;amp;arr[4] = 0x403034&lt;br /&gt;
&amp;amp;x = 0x403040 &lt;br /&gt;
&amp;amp;y = 0x403020 &lt;br /&gt;
diff = 8 &lt;br /&gt;
diff = 32&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linux results: &lt;br /&gt;
size of array = 4&lt;br /&gt;
&amp;amp;arr = 0x10010ee4 &lt;br /&gt;
arr+4 = 0x10010ee8 &lt;br /&gt;
&amp;amp;arr[4] = 0x10010ee8&lt;br /&gt;
&amp;amp;x = 0x10010ee0 &lt;br /&gt;
&amp;amp;y = 0x10010ee8 &lt;br /&gt;
diff = -2 &lt;br /&gt;
diff = -8&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Number 5&lt;br /&gt;
&lt;br /&gt;
Windows results:&lt;br /&gt;
p1 = 0x22ccb8 &lt;br /&gt;
p2 = 0x22ccb0 &lt;br /&gt;
&amp;amp;q = 0x22ccb8 &lt;br /&gt;
&amp;amp;r = 0x22ccb0&lt;br /&gt;
&lt;br /&gt;
Linux results:&lt;br /&gt;
p1 = 0x7fffffc4c4e8 &lt;br /&gt;
p2 = 0x7fffffc4c4e0 &lt;br /&gt;
&amp;amp;q = 0x7fffffc4c4e8 &lt;br /&gt;
&amp;amp;r = 0x7fffffc4c4e0&lt;br /&gt;
&lt;br /&gt;
As expected, p1 equals the address, of q, and likewise for p2 and r. I tried the code with the curly braces, as shown in the handout, but the compiler threw errors about q and r having not been declared when it reached the print line. I&amp;#039;m not sure what was supposed to happen with the braces, it it seemed to just make the compiler ignore the contents of the braces.&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Number 6&lt;br /&gt;
&lt;br /&gt;
Windows results: &lt;br /&gt;
sp = 0x22cca0(456)&lt;br /&gt;
sp X&amp;#039;d = 0x22cca0(&amp;#039;1@)&lt;br /&gt;
sp = 0x22cca0(efg)&lt;br /&gt;
sp X&amp;#039;d = 0x22cca0(&amp;#039;1@)&lt;br /&gt;
sp = 0x402000(tuvwxyz)&lt;br /&gt;
sp X&amp;#039;d = 0x402000(XXXXXXX)&lt;br /&gt;
sp = 0x670178(hijklmn)&lt;br /&gt;
sp X&amp;#039;d = 0x670178(XXXXXXX)&lt;br /&gt;
&lt;br /&gt;
Linux results: &lt;br /&gt;
sp = 0x7fffff982660(0123456)&lt;br /&gt;
sp Xd = 0x7fffff982660(XXXXXXX)&lt;br /&gt;
sp = 0x7fffff982660(abcdefg)&lt;br /&gt;
sp Xd = 0x7fffff982660(XXXXXXX)&lt;br /&gt;
sp = 0x601228(tuvwxyz)&lt;br /&gt;
sp Xd = 0x601228(XXXXXXX)&lt;br /&gt;
sp = 0x602010(hijklmn)&lt;br /&gt;
sp Xd = 0x602010(XXXXXXX)&lt;br /&gt;
&lt;br /&gt;
-----------------------------------------------------------------------------------------------&lt;/div&gt;</summary>
		<author><name>Mark</name></author>
	</entry>
</feed>