online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include <stdio.h> #include <stdint.h> typedef struct { uint8_t bit1 : 1; uint8_t bit2 : 1; uint8_t bit3 : 1; uint8_t bit4 : 1; uint8_t rsvd : 4; } TestWithStruct_t; typedef union { uint8_t reg; struct { uint8_t bit1 : 1; uint8_t bit2 : 1; uint8_t bit3 : 1; uint8_t bit4 : 1; uint8_t rsvd : 4; } bits; } TestWithUnion_t; int main() { TestWithUnion_t testWithUnion = {0}; TestWithStruct_t testWithStruct = {0}; /* Test with plain struct */ testWithStruct.bit1 = 1; testWithStruct.bit2 = 0; testWithStruct.bit3 = 1; testWithStruct.bit4 = 1; /* Test with union, containing a struct */ testWithUnion.bits.bit1 = 1; testWithUnion.bits.bit2 = 0; testWithUnion.bits.bit3 = 1; testWithUnion.bits.bit4 = 1; /* Test output */ printf("Test with struct 0x%02X %i \n", testWithStruct, sizeof(testWithStruct)); printf("Test with union with struct member 0x%02X %i \n", testWithUnion, sizeof(testWithUnion)); printf("Test with union with struct member 0x%02X %i \n", testWithUnion.reg, sizeof(testWithUnion)); /* Results in: Test with struct 0x0D 1 Test with union with struct member 0x0D 1 Test with union with struct member 0x0D 1 */ return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue