datatypes

In the The Traditional First Program I talked about the main() function returning an integer to the operating system. int is a datatype. In C, there are a few basic datatypes. Before I talk about those, I’ll explain a bit about computers and memory.

The smallest piece of memory in a computer is called a bit. Bit stands for binary digit. In the binary number system there are only two numbers: 0 and 1. So, a bit is like a switch that the computer can turn on and off. The next relevant memory size is called a byte. In a sense, this is really the basic size that computer programs work with. A byte is 8 bits and can contain 256 different values.

From a byte we get kilobyte (KB), megabyte (MB), gigabyte (GB), etc. A KB is 1024 bytes. A MB is 1024 KB (1,048,576 bytes). A GB is 1024 MB (1,073,741,824 bytes).

The basic datatypes in C are as follows with the number of bytes used in ():

char (1) a single character
short (2) a whole number between -32768 and 32767
int (2 or 4 depending on processor – on intel and similar processors it is 4)
long (4) a whole number between -2,097,154 and 2,097,153
float (4 on intel and similar processors) a floating point decimal value where min and max values depend on processor
double (8) a double precision float. A double will hold a wider range of values than a float but it’s primary use is to provide more precise calculations.

Also, all datatypes except the float and double can have the keyword unsigned placed in front of them. What this means is that they only hold positive numbers. For example, and unsigned short can have values between 0 and 65,535.

If I want to create an integer in a program to use to store a whole number value of a high score, I would do it like this:

int highscore;

If I wanted to give it a starting value of 0, I would do this:

int highscore=0;

You’ll see some examples of datatype usage in the next tutorial.

Author: Ron

Homeschooling dad of 4 (ages 27 - 14), grampy to 3, WordPress core contributor, former farmboy & software developer by profession.