@aditya actually first see your post, you have written o/p=24 accordingly padding done is perfect. But actually its printing 16. So now question arises of padding
and its pareek not prateek :) On Mon, Jul 18, 2011 at 12:38 AM, aditya kumar <aditya.kumar130...@gmail.com > wrote: > @prateek . can you explain me ?? i dint get padding logic in this example > of mine. > > On Mon, Jul 18, 2011 at 12:30 AM, sagar pareek <sagarpar...@gmail.com>wrote: > >> sizeof long double is 12. So padding concept is perfectly working >> >> >> On Mon, Jul 18, 2011 at 12:26 AM, aditya kumar < >> aditya.kumar130...@gmail.com> wrote: >> >>> struct st >>> { >>> char ch1; >>> long double ld; >>> }s; >>> printf("%d",sizeof(s)); >>> //output : 24 (for 32-bit compiler) >>> ->as i have mentioned above the behaviour is undefined in case of sizeof >>> (struct) >>> can any one explain me why the padding concept does not work here ?? >>> >>> On Mon, Jul 18, 2011 at 12:13 AM, Parthiban <jega...@gmail.com> wrote: >>> >>>> @Abhi: >>>> Answers: >>>> 1. whenever a 'const' qualifier is added previously to a variable >>>> declaration it means that the value of the variable is automatically >>>> initialized to '0'(because of the 'auto' type of the const variable) and >>>> cannot be changed in any of the following assignment statements to the >>>> const >>>> variable. >>>> >>>> 2. >>>> Here for the structure struct s1 since the entire structure is ending >>>> within 8 bytes no padding is done which means >>>> s1: [char a] >>>> 1byte >>>> but for the structure struct s2 consider the following: >>>> s2: [ char a >>>> 1byte >>>> ------ int a------- >>>> ------4bytes----] >>>> so here the concept of padding comes to make all the variable aligned in >>>> even boundaries and so the structure after aligning will look as: >>>> s2: [ ------ char b---- >>>> ------4byte----- >>>> ------ int a------- >>>> ------4bytes----] >>>> >>>> so the size of strcut s2 will be 8bytes.......... >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Algorithm Geeks" group. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msg/algogeeks/-/FoHpgvrjnm0J. >>>> >>>> To post to this group, send email to algogeeks@googlegroups.com. >>>> To unsubscribe from this group, send email to >>>> algogeeks+unsubscr...@googlegroups.com. >>>> For more options, visit this group at >>>> http://groups.google.com/group/algogeeks?hl=en. >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Algorithm Geeks" group. >>> To post to this group, send email to algogeeks@googlegroups.com. >>> To unsubscribe from this group, send email to >>> algogeeks+unsubscr...@googlegroups.com. >>> For more options, visit this group at >>> http://groups.google.com/group/algogeeks?hl=en. >>> >> >> >> >> -- >> **Regards >> SAGAR PAREEK >> COMPUTER SCIENCE AND ENGINEERING >> NIT ALLAHABAD >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Algorithm Geeks" group. >> To post to this group, send email to algogeeks@googlegroups.com. >> To unsubscribe from this group, send email to >> algogeeks+unsubscr...@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/algogeeks?hl=en. >> > > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to algogeeks@googlegroups.com. > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > -- **Regards SAGAR PAREEK COMPUTER SCIENCE AND ENGINEERING NIT ALLAHABAD -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.