Issue 35562: Issue in sizeof() function (original) (raw)
If you define a structure which contains an 'c_int' and a 'c_double' member. Then run the sizeof() function for it you get 16 as result as follows:
from ctypes import c_int from ctypes import c_double from ctypes import sizeof from ctypes import Structure from struct import Struct
class issueInSizeof(Structure):
fields = [('KEY', c_int),
('VALUE', c_double)]
print(sizeof(issueInSizeof))
output: 16
In continue if you add another 'c_int' to your structure and run sizeof() function as follows. It return 16 too.
from ctypes import c_int from ctypes import c_double from ctypes import sizeof from ctypes import Structure from struct import Struct
class issueInSizeof(Structure):
fields = [('Index', c_int),
('KEY', c_int),
('VALUE', c_double)]
print(sizeof(issueInSizeof))
output: 16
If python assume the size of 'c_int' 4, then it should return 12 in the first run. Also if it assume the size of 'c_int' 8 then it should return 24 in the second run.
thanks in advance.