Can a simple a==b 'hang' in and endless loop?
bonono at gmail.com
bonono at gmail.com
Wed Jan 18 11:41:00 EST 2006
More information about the Python-list mailing list
Wed Jan 18 11:41:00 EST 2006
- Previous message (by thread): Can a simple a==b 'hang' in and endless loop?
- Next message (by thread): Can a simple a==b 'hang' in and endless loop?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Fuzzyman wrote: > I'm not familiar with the C basic datatypes - I assume it has an array > or list like object. > > Would it contain a sequence of poitners to the members ? In which case > they would only be equal if the pointers are the same. > > In this case : > > a = ['some string'] > b = ['somestring'] > a == b > False (probably) > > Incorrectly using Python syntax for a C example of course :-) > That depends, the C syntax is like this : char *a="hello"; char *b="hello"; assert(a==b); // true, the compiler knows the two hello are the same and assign the same address(sort of id() in python) to a and b But the following is not char *a="hello"; char *b="_hello"; char *c=b+1; assert(a==c); //false, even the content they point to are the same However, string in the above are not basic types of C and if you want to compare the value(like comparing integer), you need to use function like strcmp() which again compare byte by byte in the above example and give true.
- Previous message (by thread): Can a simple a==b 'hang' in and endless loop?
- Next message (by thread): Can a simple a==b 'hang' in and endless loop?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list