In this tutorial, we are going to learn about the comma and sizeof operators in C.

Comma operator:

In C, there are two special operators: the comma (,) operator and the sizeof operator.

The Comma(,) operator is used to declare multiple expressions in a single statement. Comma operator acts as a separator between multiple expressions, in declaring multiple variables and in function call parameters.

Given below are a few examples of comma(,) operator:

int a = 0, b = 0, c = 0;
a = 17;
b = 35;
c = a + b;

The example given above can also be written as:

int a = 0, b = 0, c = 0;
c = (a = 17, b = 3, a + b);

In the expression result = (expression1, expression2); expression1 is first evaluated. After that, expression2 is evaluated and the value of expression2 is returned for the whole expression.

sizeof operator:

sizeof operator is also called the compile-time operator and when used with an operand, will return the number of bytes that are occupied by the operand.

The operand may be a variable, a constant, or a data type. The format of the sizeof operator is:

sizeof(operand)

sizeof operator will return the size as an unsigned integer.

Since sizeof returns an unsigned integer, %zu has to be used instead of %d for the format string.

For example, the statement

printf("%zu", sizeof(float));

will produce an output of 4 since a float data type occupies 4 bytes in memory.

References: