Easy Tutorial
❮ C Fun Pointer Callback C Data Types ❯

Basic Syntax

We have already seen the basic structure of a C program, which will help us understand other basic building blocks of the C language.

Tokens in C

A C program consists of various tokens, which can be keywords, identifiers, constants, string literals, or symbols. For example, the following C statement contains five tokens:

printf("Hello, World! \n");

These five tokens are:

printf
(
"Hello, World! \n"
)
;

Semicolon ;

In a C program, a semicolon is a statement terminator. That is, each individual statement must be ended with a semicolon. It indicates the end of a logical entity.

For example, here are two different statements:

printf("Hello, World! \n");
return 0;

Comments

C language has two ways of commenting:

// Single-line comment

A single-line comment starting with // can occupy a single line.

/* Single-line comment */
/* 
   Multi-line comment
   Multi-line comment
   Multi-line comment
 */

The /* */ format of comments can be single-line or multi-line.

You cannot nest comments within comments, and comments cannot appear within a string or character literal.

Identifiers

C identifiers are names used to identify variables, functions, or any other user-defined item. An identifier starts with a letter A-Z or a-z or an underscore _ followed by zero or more letters, underscores, and digits (0-9).

Punctuation characters such as @, $, and % are not allowed within C identifiers. C is a case-sensitive programming language. Therefore, in C, Manpower and manpower are two different identifiers. Here are some valid identifiers:

mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

Keywords

The following table lists the reserved words in C. These reserved words cannot be used as constant names, variable names, or other identifier names.

Keyword Description
auto Declare automatic variable
break Break out of current loop
case Switch statement branch
char Declare character variable or function return type
const Define constant; if a variable is modified by const, its value cannot be changed
continue End current loop, begin next iteration
default Default branch in switch statement
do Loop body
double Declare double precision floating-point variable or function return type
else Conditional statement negative branch (used with if)
enum Declare enumeration type
extern Declare variable or function defined elsewhere
float Declare floating-point variable or function return type
for A type of loop
goto Unconditional jump statement
if Conditional statement
int Declare integer variable or function
long Declare long integer variable or function return type
register Declare register variable
return Subroutine return statement (can take parameters or not)
short Declare short integer variable or function
signed Declare signed type variable or function
sizeof Calculate size of data type or variable (in bytes)
static Declare static variable
struct Declare structure type
switch Used for switch statement
typedef Used to give a type a new name
unsigned Declare unsigned type variable or function
union Declare union type
void Declare function with no return value or no parameters, or declare void pointer
volatile Indicates that a variable can be changed implicitly
while Loop condition for loop statement

C99 Added Keywords

| _Bool | _Complex | _Imaginary | inline | restrict |

C11 Added Keywords

| _Alignas | _Alignof | _Atomic | _Generic | _Noreturn | | _Static_assert | _Thread_local | | | |

Whitespace in C

A line containing only whitespace, possibly with a comment, is known as a blank line, and the C compiler completely ignores it.

In C, whitespace is used to describe blank spaces, tabs, newline characters, and comments. Whitespace separates different parts of a statement so that the compiler can identify where one element of a statement (like int) ends and the next begins. Therefore, in the statement:

int age;

Here, int and age must be separated by at least one whitespace character (usually a space), so the compiler can distinguish between them. On the other hand, in the statement:

fruit = apples + oranges;   // Get the total number of fruits

The whitespace characters between fruit and =, or = and apples are not necessary, but you can add them as needed to enhance readability.

❮ C Fun Pointer Callback C Data Types ❯