Learn C Language
Learn C Programming Language Step By Step. It’s easy to learn c programming language with real-life examples and hands-on. We are trying our best to deliver quality content.

LEARN C
PREMIUM COURSES
Buy Premium Courses At Lowest Price. Grab The Golden Opportunity To Become A Certified Developer Today!
Useful Links
CoursePot.Com
Buy Premium Courses At Lowest Price. Grab The Golden Opportunity To Become A Certified Developer Today!
Bit Fields In C
In C language, we can specify size (in bits) of structure and union members. The idea is to use memory efficiently when we know that the value of a field or group of fields will never exceed a limit or is withing a small range.
Suppose your C program contains a number of TRUE/FALSE variables grouped in a structure called status, as follows −
This structure requires 8 bytes of memory space but in actual, we are going to store either 0 or 1 in each of the variables. The C programming language offers a better way to utilize the memory space in such situations.
If you are using such variables inside a structure then you can define the width of a variable which tells the C compiler that you are going to use only those number of bytes. For example, the above structure can be re-written as follows −
The above structure requires 4 bytes of memory space for status variable, but only 2 bits will be used to store the values.
If you will use up to 32 variables each one with a width of 1 bit, then also the status structure will use 4 bytes. However as soon as you have 33 variables, it will allocate the next slot of the memory and it will start using 8 bytes. Let us check the following example to understand the concept
When the above code is executed, it produces following result:
Bit Field Declaration
The declaration of a bit-field has the following form inside a structure
The following table describes the variable elements of a bit field −
Sr.No. | Element & Description |
---|---|
1 |
type An integer type that determines how a bit-field’s value is interpreted. The type may be int, signed int, or unsigned int. |
2 |
member_name The name of the bit-field. |
3 |
width The number of bits in the bit-field. The width must be less than or equal to the bit width of the specified type. |
The variables defined with a predefined width are called bit fields. A bit field can hold more than a single bit; for example, if you need a variable to store a value from 0 to 7, then you can define a bit field with a width of 3 bits as follows
The above structure definition instructs the C compiler that the age variable is going to use only 3 bits to store the value. If you try to use more than 3 bits, then it will not allow you to do so. Let us try the following example
When the above code is compiled it will compile with a warning and when executed, it produces the following result
Top Book Suggestion
The two books on C Programming Language that I Personally Recommend. I really loved reading these books. These books are listed for quality content, easy steps, and affordable price. You can get it from Amazon and Flipkart.
Check The Price On Amazon:
Check The Price On Flipkart:
Buy Premium Courses At Lowest Price. Become A Certified Developer Today!
Best Books Selected by Our Experts
Buy Premium Projects At Lowest Price
Ebooks Written by Our Experts
CoursePot.Com
Buy Premium Courses At Lowest Price. Grab Golden Opportunity To Become A Certified Developer Today!