Example: sizeof

The following example uses the memset function to fill a structure, about_app, with zeros before initializing it. The return value of sizeof is used as a parameter to memset, to precisely calculate the size of the structure to be filled.

    struct about_app {
        char * version;
        int field1;
        int field2;
    };
// Global scope 
    struct about_app a; 
    a.field1 = 12;
    a.field2 = 13;
// Set all fields to zero 
    memset(&a, 0, sizeof(struct about_app)); 
// Display the field values (0)
    lr_output_message ("After memset field1=%d field2=%d", a.field1, a.field2);
    a.version = "app version 1.0";
    a.field1 = 5;
    a.field2 = 6;
    lr_output_message ("Now, field1=%d field2=%d", a.field1, a.field2);
Output:
Action.c(18): After memset field1=0 field2=0
Action.c(23): Now, field1=5 field2=6