You are on page 1of 21

CST 281­1

Computer Programming
Laboratory Session 09
IDE

 An integrated development environment (IDE)


(also known as integrated design environment,
integrated debugging environment or interactive
development environment) is a software
application that provides comprehensive
facilities to computer programmers for software
development.
IDE

An IDE normally consists of:

* a source code editor


* a compiler and/or an interpreter
* build automation tools
* a debugger
Code Blocks

 http://www.codeblocks.org/
Pointers
 Pointers are another important feature of the C
language.Pointers are useful due to following
reasons:
• They enable us to access a variable that is defined
outside a function.
• Pointers are more efficient in handling data tables and
sometimes even arrays.
• Pointers tend to reduce the length and complexity of a
program.
• They increase the execution speed.
• Use of pointers allows easy access to character strings.
Declaring Pointers
 A pointer is declared using the indirection (*)
operator. The typical declaration of a pointer is:
data­type *pointer­name;
If a pointer “a” is pointing to an integer, it is
declared as:
int *a;
Pointers

 Since a pointer is a variable, its value is also


stored in another memory location.
 Therefore in computation even the address of
the pointer can be used.
Example­01
int main()
{
int number = 20;
int *pnt;
pnt = &number;
printf("\nThe number is: %d", number);
printf("\nThe address of the number is: %d", &number);
printf("\nThe pointer is: %d", pnt);
printf("\nThe address of the pointer is: %d", &pnt);
printf("\nThe value of the pointer is: %d", *pnt);
}
Out put of Example

Execution of Program­1 displays:


The number is: 20
The address of the number is: 1245064
The pointer is: 1245064
The address of the pointer is: 1245060
The value of the pointer is: 20
Example­02

 Write a program to swap two integer numbers


using pointers.
Sample code
void swap(int *a,int *b);
int main()
{
int a,b;
a = 5;
b = 10;
printf("\nBefore swapping a= %d: b= %d", a, b);
swap(&a, &b); //call function
printf("\nAfter swapping a= %d: b= %d", a, b);
return 0;
}
Swap Function

void swap(int *a, int *b)


{
int x;
x = *b;
*b = *a;
*a = x;
}
Text Strings and Pointers
 An array of characters is called a string. Strings in
C are handled differently than most other
languages. A pointer is used to keep track of a text
string stored in memory.
 It will point to the first character of the string. By
knowing the beginning address and the length of
the string, the program can locate it.
Text Strings and Pointers

A character pointer is used to point to the first


character of a string as given in the following
example:
char *a;
a = "Hello World!";
Sample Code
int main()
{
char *a;
a = "Hello World";
printf("String: %s\n", a);
printf("First character: %c\n", *a);
printf("Starting memory address: %d\n", a);
printf("First character: %d\n", *a);
return 0;
}
Output

String: Hello World


First character: H
Starting memory address: 4235496
First character: 72
Pointers and Arrays
 An array is a series of elements of the same data
type. Pointers can be used to manipulate arrays
rather than using an index.
 The name of an array points to the first element of
the array. If you declare an array in the following
manner:
int marks[5];
Pointers and Arrays

 you can point to the first element of the array


using either one of the following pointers:
marks //first element
&marks[0] //first element
Pointers and Arrays
Also the following pairs of pointers are
equivalent:
marks+1 == &marks[1]
......
marks+4 == &marks[4]
Or you can use the array name to refer to the
contents of the array elements like:
*(marks) //value of 1st element
*(marks+1) //value of 2nd element
Sample Code
{
int marks[5]= {89, 45, 73, 98, 39};
printf("%d\n", marks); //memory address pointed bypointer
printf("%d\n", &marks[0]); //memory address of 1st element
printf("%d\n", *marks); //value pointed by pointer
printf("%d\n", marks[0]); //value of 1st array element
return 0;
}
Thank you!

You might also like