Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
How allocated memory is calculated?
int arr[] = {10,123,14,14,15,16};
cout<<sizeof(arr)/sizeof(arr[0]);
I was reading the article.
When sizeof() is used with the data types such as int, float, char… etc it simply returns the amount of memory is allocated to that data types.
How the memory is calculated? Is there any equation to find that without any code?
1 answer
The size of the "primitive data types" int, float etc is not defined by the standard. In practice, int is either 16 or 32 bits on all known systems.
Because of the unspecified size leading to poor portability of the primitive types, the stdint.h library was introduced back in 1999, containing fixed width types that are portable. uint32_t
etc. These are the preferred types in professional settings where portability matters.
In your specific case, if we assume a 32 bit system then each int is 4 bytes. The array is then 4x6 = 24 bytes large.
0 comment threads