This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Cygwin Memory Handling in Arrays


How does Cygwin manage memory in this c++ program?
I thought that either the arrays sentinelOne[3] or sentinelTwo[3]would have 
been over written containing the value from writting past the end of the 
array TargetArray[25].  What happened here?

#include <iostream.h>
int main()
{
	// sentinels
	long sentinelOne[3];
	long TargetArray[25]; // array to fill
	long sentinelTwo[3];
	int i;
	for (i=0; i<3; i++)
		sentinelOne[i] = sentinelTwo[i] = 0;

	for (i=0; i<25; i++)
		TargetArray[i] = 0;

	cout << "Test 1: \n";  // test current values (should be 0)
	cout << "TargetArray[0]: " << TargetArray[0] << "\n";
	cout << "TargetArray[24]: " << TargetArray[24] << "\n\n";

	for (i = 0; i<3; i++)
	{
		cout << "sentinelOne[" << i << "]: ";
		cout << sentinelOne[i] << "\n";
		cout << "sentinelTwo[" << i << "]: ";
		cout << sentinelTwo[i]<< "\n";
	}

	cout << "\nAssigning...";
	for (i = 0; i<=26; i++)
		TargetArray[i] = 20;

	cout << "\nTest 2: \n";
	cout << "TargetArray[0]: " << TargetArray[0] << "\n";
	cout << "TargetArray[24]: " << TargetArray[24] << "\n";
	cout << "TargetArray{25}: " << TargetArray[25] << "\n";
	cout << "TargetArray[26]: " << TargetArray[26] << "\n\n";
	for (i = 0; i<3; i++)
	{
		cout << "sentinelOne[" << i << "]: ";
		cout << sentinelOne[i]<< "\n";
		cout << "sentinelTwo[" << i << "]: ";
		cout << sentinelTwo[i]<< "\n";
	}

	return 0;
}


============================OUTPUT===================================

Test 1:
TargetArray[0]: 0
TargetArray[24]: 0

sentinelOne[0]: 0
sentinelTwo[0]: 0
sentinelOne[1]: 0
sentinelTwo[1]: 0
sentinelOne[2]: 0
sentinelTwo[2]: 0

Assigning...
Test 2:
TargetArray[0]: 20
TargetArray[24]: 20
TargetArray{25}: 20
TargetArray[26]: 20

sentinelOne[0]: 0
sentinelTwo[0]: 0
sentinelOne[1]: 0
sentinelTwo[1]: 0
sentinelOne[2]: 0
sentinelTwo[2]: 0





_______________________________________________________________
Get Free Email and Do More On The Web. Visit http://www.msn.com

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]