Global variables, sorting static variables,function and arrays,
1.
2. GROUP # 04
GROUP MEMBERS;
HAFIZ AHMAD ALI EN-15024
SAQIB KHOKHAR EN-15017
HASNAIN BILAL EN-15025
3. GLOBAL VARIABLE
• GLOBAL VARIABLES HOLD THEIR VALUES THROUGHOUT THE LIFETIME OF YOUR PROGRAM AND
THEY CAN BE ACCESSED INSIDE ANY OF THE FUNCTIONS DEFINED FOR THE PROGRAM.
• GLOBAL AND LOCAL VARIABLES
• A LOCAL VARIABLE IS A VARIABLE THAT IS DECLARED INSIDE A FUNCTION.
• A GLOBAL VARIABLE IS A VARIABLE THAT IS DECLARED OUTSIDE ALL FUNCTIONS.
• A LOCAL VARIABLE CAN ONLY BE USED IN THE FUNCTION WHERE IT IS DECLARED.
• A GLOBAL VARIABLE CAN BE USED IN ALL FUNCTIONS.
4. #include<stdio.h> // Global variables int A; int B; int Add() { return A + B; } int main() { int answer; // Local variable A = 5; B = 7; answer = Add(); printf("%dn",answer); return 0; }
5. Sorting
To arrange a set of items in sequence.
Many applications require sorting;
Many applications perform sorting when
they don't have to;
Many applications use inefficient sorting
algorithms.
6. Sorting Applications
To prepare a list of student ID, names, and
scores in a table (sorted by ID or name) for
easy checking.
To prepare a list of scores before letter
grade assignment.
To produce a list of horses after a race
(sorted by the finishing times) for payoff
calculation.
To prepare an originally unsorted array for
ordered binary searching.
7.
8.
9. Static and Automatic
Variables
• Automatic variable - memory is allocated
at block entry and deallocated at block
exit
• Static variable - memory remains
allocated as long as the program
executes
• Variables declared outside of any block
are static variables
• By default, variables declared within a
block are automatic variables
• Declare a static variable within a block by
using the reserved word static
10. Static and Automatic
Variables (continued)
• The syntax for declaring a static variable
is:
static dataType identifier;
• The statement
static int x;
declares x to be a static variable of the type
int
• Static variables declared within a block
are local to the block
• Their scope is the same as any other
11. Summary (continued)
• An automatic variable is a variable for
which memory is allocated on function
(or block) entry and deallocated on
function (or block) exit
• A static variable is a variable for which
memory remains allocated throughout
the execution of the program
• C allows functions to have default
parameters
12. FUNCTIONS
Basically there are two categories of function:
1. Predefined functions: available in C / C++
standard library such as stdio.h, math.h,
string.h etc.
2. User-defined functions: functions that
programmers create for specialized tasks such
as graphic and multimedia libraries,
implementation extensions or dependent etc.
13. FUNCTION & ARRAY:
FOR A FUNCTION TO RECEIVE AN ARRAY THROUGH A FUNCTION CALL, THE
FUNCTION’S PARAMETER LIST MUST SPECIFY THAT AN ARRAY WILL BE RECEIVED.
SYNTAX
INDICATING THAT MODIFY ARRAY EXPECTS TO RECEIVE AN ARRAY OF INTEGERS
IN PARAMETER B AND THE NUMBER OF ARRAY ELEMENTS IN PARAMETER SIZE.
THE SIZE OF THE ARRAY IS NOT REQUIRED BETWEEN
THE ARRAY BRACKETS.
14.
15. #include <stdio.h>
float average(float a[]);
int main(){
float avg, c[]={23.4, 55, 22.6, 3, 40.5, 18};
avg=average(c); /* Only name of array is passed as argument. */
printf("Average age=%.2f",avg);
return 0;
}
float average(float a[ ])
{
int i;
float avg, sum=0.0;
for(i=0;i<6;++i){
sum+=a[i];
}
avg =(sum/6);
return avg;
}
Output Average age=27.08
C program to pass an array containing age of person to a function. This function should find average
age and display the average age in main function.
16.
17. #include
void Function(int c[2][2]);
int main(){
int c[2][2],i,j;
printf("Enter 4 numbers:n");
for(i=0;i<2;++i)
for(j=0;j<2;++j){
scanf("%d",&c[i][j]);
}
Function(c); /* passing multi-dimensional array to function */
return 0;
}
18. void Function(int c[2][2]){
/* Instead to above line, void Function(int c[][2]){ is also valid */
int i,j;
printf("Displaying:n");
for(i=0;i<2;++i)
for(j=0;j<2;++j)
printf("%dn",c[i][j]);
} Output
Enter 4 numbers:
2
3
4
5
Displaying:
2
3
4
5