Академический Документы
Профессиональный Документы
Культура Документы
INTRODUCTION TO C
PROGRAMMING
COURSE EVALUATION
Coursework
1.Lab/assignments
2.Test (2)
3.Mini Project (1)
Total Marks
Percentage
20%
50%
30%
100%
TEXT BOOK
DEITEL & DEITEL (Latest Edition). C How To Program by PEARSON/
Prentice Hall
REFERENCES
1.Jeri R. Hanley, Elliot B. Koffman, `C Program design for Engineers`,
2nd Edition, Addison Wesley, 2000.
2.Pradip Dey & Manas Ghosh, `Computer Fundamentals and
Programming in C`, Oxford University Press, 2006.
3.H. M. Dietel & P.J. Dietel, `C How to Program`, Prentice Hall, 2004.
4.Behrouz A. Forouzan & Richard F. Gilberg, `A Structured
3
Programming Approach Using c`, Brooks/Cole, 2001.
WEEK
CHAPTER
1
(2 hours)
1
INTRODUCTION TO C PROGRAMMING
2-3
(4 hours)
2
INPUT AND OUTPUT OPERATION
4
(2 hours)
3
CONTROL FLOW
5
(2 hours)
3
CONTROL FLOW
6
(2 hours)
3
CONTROL FLOW
4
FUNCTIONS
CONTENT/SUB-CHAPTER
INITIAL CONCEPT
1.1 Introduction to programming languages,flowchart
1.2 Producing an executable program (compiling and linking)
1.3 Constants, variables and data types(int, float,string,char)
1.4 Operators and precedence
1.5 Data type conversion
TEST 1
7
( 2 hours)
4
FUNCTIONS
5
SIMPLE ARRAY
FUNCTIONS
4.4 Function call
4.5 Recursive function
SIMPLE ARRAY
5.1 Array declaration and syntax
8
(2 hours)
5
SIMPLE ARRAY
SIMPLE ARRAY
5.2 One and two dimensional array
9
(2 hours)
6
POINTER
INTRODUCTION TO POINTER
6.1 Pointer declaration and synatx
6.2 call by value and call by referance
10
(2 hours)
6
POINTER
INTRODUCTION TO POINTER
6.3 Using pointer with functions and array
11
(2 hours)
7
STRUCTURES
STRUCTURE
7.1 Structure declaration and syntax
7.2 Structure initialization
7.3 Pointers to structure
TEST 2
12
13
14
Chapter 1
Introduction to C
Programming
5
LESSON OUTCOME
At the end of the lesson, students should
be able to describe and explain:
Introduction to C Programming Language
Development Stages of C Program
Flowchart
Variables and Data types
Keywords and Constants
Operators and precedence
Data type conversion
6
What is a program?
A list of instructions.
Written in a programming language (c,
c++, java).
Determines the behavior of a machine
(computer, robot).
Programming Language
A machine language that has its own
set of grammatical rules.
It is used to instruct a machine to
perform specific tasks.
History
C was developed in 1972 by Dennis
Ritchie at Bell Laboratories.
Based on a programming language
called B (which is derived from BCPL
language).
C was designed and developed for the
development of UNIX operating system.
C has been widely used to develop
many type of application software from
a basic to operating system.
9
History
10
Development stages of C
program
11
12
Editing
Process of writing the C source code.
Using editor program (i.e. vi and
emacs for Linux, Notepad for
Windows)
Software package provides
programming environment
Integrated editor
Managing and maintaining source code
i.e. C++ Builder, Code::Blocks, Dev-C+
+, Microsoft Visual Studio
13
Pre-processing and
Compiling
Pre-processing performs directives
such as inclusion of header files and
substitution.
Compiling process of translating
the source code (programming
language) to machine code (machine
language).
14
Linking
Process of combining generated
object files.
Add required codes from C standard
library.
Produce an executable file.
15
Executing
Run the program to check whether it
produce the desired output.
Testing stage where you check the
output of your program.
The program does not produces the
suppose output, then you have made
logic (semantic) error.
16
C Program Layout
C program consists of two sections:
Pre-processor directives
Main function
pre-processor directives
main()
Pre-processor section
{
Main function section
statements
}
17
Pre-processor Directives
Specify what compiler should do
before compilation.
Include header files.
Header file keep information about
the library functions (printf, scanf).
Pre-processor directives begins with
the # symbol.
18
Main Function
The program starts its execution.
Define the program definition.
19
An Example of C Program
Sample output:
C program example
20
Additional - Comments
A comment, not actually part of the
program.
Provide information on what the program
does.
Begin with /* and end with */ or written
as //.
Good habit to include comments.
Keep inform what are the code actually
doing.
21
Important line in C
Symbol # indicates that this is a preprocessor directive
Include stdio.h header file in our
program
stdio.h contains information on
input/output routines.
We are using the printf() function
from stdio.h
22
24
25
26
Flowchart
Basic shapes of flowchart
point / terminal
data / process
input / output operation
decision / option
flow of the flowchart
27
Flowchart
Sequence flow
28
Flowchart
Looping flow
29
Flowchart
Combinati
on flow
30
Exercise
Draw a flowchart to solve below problem:
Prepare cupcakes. Ingredients are flour,
yeast, and sugar. Make sure you taste
the dough before baking process.
Find solution to calculate the average
marks for 100 of student. Then, display
the average value.
31
Variables
Every variable has name, type and value.
Variable name / Identifier :
Must start with character or underscore ( _ ),
cannot start with number or symbol and not a
keyword .
Must not include any space and it is letter
case sensitive.
Eg:
stud1, Stud1, stud_name, _student
(valid)
@stud, stud name, 1stud (invalid)
Variable type :
Based on the data type integer, floating
point numbers and characters.
The value can be change any time.
Whenever a new value is placed into a
variable, it replaces the previous value.
Variables
Variable must be declare / initialize before it
can be used in the next line of statements.
Variable declaration :
To declare a variable with a name and
suitable data type.
Eg:
int student; int staff;
double x, y;
Variable initialization :
To declare a variable and assign a certain
value to the varible.
Eg:
int student=5; int staff=1;
double x=1.12;
double y=9.999;
Data Types
Integer:
Whole number (decimal).
Positive, negative or zero : 25, 0, -9.
Variable declaration:
int x;
Floating point numbers:
double / float
Variable declaration:
double y;
float z;
Characters:
A character is a single letter, digit, symbol or
space. Eg: m,B,#,3,=,@, .
A string is series of characters .
Eg: student ,F#,$35,
class_93,ALI BABA.
Keywords
Special words reserved for C.
Cannot be used as variable names.
Eg:
data types
(int,void,const,static)
instruction statements (if,for,case,
break,return,include)
Constants
Constant name is declared just like variable
name.
Constant value cannot be changed after its
declaration.
2 ways for constant declaration :
const double pi = 3.147; or
#define pi 3.147
Assignment Operator
Arithmetic Operators
Operators
Symbol
Addition
Substraction
Multiplication
Division
Modulus
Relational Operators
Operator
Symbol
Less than
<
>
Greater than or
equal to
>=
Equal to
==
Not equal to
!=
Also
known as
Equality
Operators
Logical Operators
Operators
Symbol
NOT
AND
&&
OR
||
Expression
Value
!1
!0
Expression
Value
0 && 0
0 && 1
1 && 0
1 && 1
Expression
Value
0 || 0
0 || 1
1 || 0
1 || 1
Increment and
Decrement Operators
Increment operator ++
add 1
Decrement operator --;
subtract 1
These operators can be used as prefix
(++a/--a) or postfix (a++/a--).
Prefix increase/decrease the operand
before it is used.
Postfix increase/decrease the
operand
after it is used.
41
Increment and
Decrement Operators
Example
int y,c,x;
y=5,c=1,x=3;
c++;
x+=2;
--y;
y=c++;
y=++x;
(in
memory)
42
Operator Precedence
Highest Precedence / Priority
parenthesis,
logical op.
( ) !
arithmetic op.
* / %
arithmetic op.
+ -
relational op.
equality op.
== !=
logical op.
&&
logical op.
||
Operator Precedence
Example 1
7 % 3 + 4 * 2 (1 + 12) / 4
Example 2
x > 5 || y < 7 && z != 2
letx=4,y=5,z=9.
Exercise
What data types would you use to hold
the following data?
Customer name
Your house number
A price
Car registrations
The time
A six digit number
Write C statements to declare them all.
45
Exercise
What value is assigned to each
variable during the execution of each
line of statement?
Fill in the blank memories.
46
Chapter 2
LESSON OUTCOME
At the end of the lesson, students should
be able to describe and explain:
Input and Output Devices
printf statement
scanf statement
Field Widths and Precisions
Printing Literals and Escape Sequences
48
49
50
print
f
display the
data at the
monitor
get input
data from
the
keyboard
scanf
51
Printing Integers
Integer
Whole number (no decimal point): 25,
0, -9
Positive, negative, or zero
Only minus sign prints by default
53
Printing Integers
54
Printing Floating-Point
Numbers
Floating Point Numbers
Have a decimal point (33.5)
f print floating point with at least one digit to
left of decimal
55
58
60
int x = 123;
printf(%2d, x) output:123
printf(%5d, x) output: 123
printf(%-5d, x) output:123
printf(%.5d, x) output:00123
printf(%7.5d, x)output:00123
62
output:4.56
output: 4.560000
printf(%-9f, x) output:4.560000
printf(%.4f, x) output:4.5600
printf(%.1f, x) output:4.6
printf(%6.3f, x)output: 4.560
63
char a = Z;
char b[] = ZOO;
printf(%2c, a) output: Z
printf(%-2c, a) output:Z
printf(%2s, b) output:ZOO
printf(%5s, b) output: ZOO
printf(%-5s, x) output:ZOO
64
65
\?
\\
\a
\b
\f
\n
\r
\t
\v
Exercise
Write a statement to accomplish each of the
following:
i. Define the variables x, y, z and result to be of
type int.
ii.Prompt the user to enter three integers.
iii.Read three integers from the keyboard and
store them in the variables x, y and z.
iv.Compute the product of the three integers
contained in variables x, y and z, and assign
the result to the variable result.
v. Print the result.
67
Chapter 3.1
Selection Structure
68
LESSON OUTCOME
At the end of the lesson, students should
be able to describe and explain:
if statement
if else statement
if else if statement
Nested if structure
switch case statement
69
Introduction
Ability to change the flow of program
execution.
Allows the program to decide an
action based upon user's input or
other processes.
70
if Statement
Primary tool of selection
structure.
The condition is TRUE
execute the statement.
The condition is FALSE skip
the statement.
71
if Statement
if ( condition )
Execute this statement if
condition is TRUE
i.e.
if (5 < 10)
printf("Five is less than ten");
Example
Sample output:
Enter a number between -10 and 10: 6
6 is a positive number
73
if else Statement
Execute certain
statement if the
condition is false
The condition is
TRUE execute the
statement A
The condition is
FALSE execute the
statement B
74
if else Statement
if ( condition )
Statement A;
else
Statement B;
i.e.
if ( 5 < 10 )
printf("Five is less than ten");
else
printf("Five is greater than
ten");
75
Example
Sample output:
Enter a number between -10 and 10: -2
-2 is a negative number
76
if else if Statement
Test additional conditions
Works the same way as
normalifstatement
77
Example
Sample output:
Please enter your age: 58
You are old
78
Statement N
}
79
Nested if Structure
if within an if is called
nested if
if ( condition 1 )
Statement A;
if ( condition 2 )
Statement C;
else
Statement D;
else
Statement B;
80
Example
Sample output:
Enter a number between -10 and 10: 6
6 is a positive number
6 is an even number
81
82
Example
84
Exercise
Write a program that asks the user to enter
two integers, obtains the numbers from the
user, then prints the larger number followed
by the words is larger. If the numbers are
equal, print the message These numbers are
equal. Use only the single-selection form of
the if statement you learned in this chapter.
Draw a flowchart for this task:Obtains two integer numbers from the
keyboard, and display which is larger of the
two numbers.
85
Exercise
Using switch and case statement,
write a program determine whether
the number we key in is odd or even
and that print out adjacent * sign
same as that number. (Example: For
number 6, we will print out ****** ).
86
Chapter 3.2
Repetition Structure
87
LESSON OUTCOME
At the end of the lesson, students should
be able to describe and explain:
while loop
do while loop
for loop
Nested Loop
Infinite Loop
break and continue Statements
88
Introduction
What if we want to display numbers from 1
to 100?
What if we want to repeat a thousand times
of 10 statements?
It is possible to do it, but it is not a
convenience and it would take a long time
to complete
Ability to specify repetition of compound
statements is as important in programming
Loop
89
Introduction
Two types of loop:
Finite loop
Infinite loop
Introduction
Three requirements of defining a
definite loop
1. counter initialization
2. counter
3. loop condition
91
while Loop
Allows the repetition of
a set of statements
execution to continue
for as long as a
specified condition is
TRUE
When the condition
becomes false, the
repetition terminates
92
while Loop
while ( condition ) {
statements;
}
while ( a < b ) {
printf("a is less than b\n");
}
93
Example
Test the condition
Execute statements
within while loops
block
Jump back to the top
and re-test the
condition
94
Example
Sample output:
0
1
2
95
do while Loop
Condition is tested at the
end of the block instead
of at the beginning
Block will be executed at
least once
96
do while Loop
do {
statements;
} while ( condition );
do {
printf("a is less than b\n");
} while ( a < b );
97
Example
Execute statements
within do while loops
block
Test the condition
Jump back to the top
and re-execute
statements
98
Example
Sample output:
0
1
2
99
for Loop
for loop combines the loop control
parameters into single statement
Loop control parameters variable
initialization, variable update and
loop condition
100
for Loop
for ( a; b; c ) {
statements;
}
a(variable initialisation) is evaluated
once only - before entering the loop
b(condition) determines whether or not
the program loops
c(variable update) is evaluated after
an iteration of the loop loop counter
101
Example
Initializes count
equals to zero
Test the condition
Execute statements
within for loops
block
Jump back to the top
and re-test the
condition
102
Example
Sample output:
0
1
2
103
Nested Loop
A loop within a loop
Loop1
Loop2
statement
return
return
104
Example
Sample output:
11
23
36
105
Infinite Loop
Loops forever
Contains no condition
Condition that can never be satisfied
106
Example
107
108
Example
Causes an immediate exit from that
statement
Example
Skip the remaining statements
Performs the next iteration of the
loop
110
Exercise
1. Use a loop to produce the following
output:
a) 12345678910
b) 3, 8, 13, 18, 23
c) 20, 14, 8, 2, -4, -10
2. Write a program that will display all
odd numbers between 1 to 40.
111
Chapter 4
Functions
112
LESSON OUTCOME
At the end of the lesson, students should
be able to describe and explain:
Introduction to function
Function Prototype
Function Definition
Calling Function
Scope and Global Variables
Recursive Function
113
Introduction
Mini-program where a group of
statements are executed.
Programmer-defined functions.
Break a large program into smaller
sets of statements according to their
tasks.
114
Benefits of Function
To make program more manageable
divide-and-conquer approach (construct
a program from smaller
components/modules.
Software reusability
reuse existing functions for new
programs
116
Sequence of Execution
117
3 Elements of Function
1. Function prototype / declaration
2. Function definition
3. Calling function
118
Function Prototype
To declare function if the function definition
is written below the main function.
Otherwise, no need function prototype.
(function definition above the main
function)
Almost similar with function definition
header, but must be written before the
main function with semicolon at the end of
statement.
119
Function Prototype
return_value_type function_name(parameter_list);
Function Definition
Specifies the specification of a
function
return value type, function name,
arguments.
121
Function Definition
return_value_type function_name(parameter_list)
{
statements;
}
function body
function header
122
Function Definition
return_value_type function_name(parameter_list)
{
statements;
}
Specifies the type of the value returned by the function
Data types of return value : int (default), char, float,
double
If function does not has any return value : void
o List of variable names received by the function from the
caller arguments (data input)
o parameter_list : (parameter_type parameter_name)
o parameter_type: int , char, float, double
o If function does not has any parameter_list : () or
123
(void)
Calling Function
Two ways to invoke/call function
Call-by-value
Call-by-reference.
124
Call-by-value VS Call-byreference
Call-by-reference
Call-by-value
References of the
Copies of the
arguments value
arguments value are
are passed to the
made and passed to
called function
the called function
Called function
Changes to the copy
can modify the
original variables
do not effect an
value
original variables
Possible to
value
simulate
Available in C
language
125
Example 1
#include<stdio.h>
void function_name(void);
Function prototype
int main() {
statements;
function_name();
Calling function
return 0;
}
Function definition
void function_name(void) {
statements;
}
126
Example 2
#include<stdio.h>
double function_name(int,double);
Function prototype
int main() {
int p1, double p2;
statements;
function_name(p1,p2);
return 0;
Calling function
}
Example 3
Sample output:
Call-by-value
Before func1 is called
n1 = 5
In func1
n1 = 10
After func1 is called
n1 = 5
128
Example 4
Sample output:
function prototype
Enter base and
power: 5 4
The
result is 625.
function call
function definition
129
Scope Variable
Variables declared in function main()
are known only within function main()
not accessible outside of the block
It is applied to variables defined within a
block that is inside other block
But variables defined in the outer block
are accessible in the inner block
130
Scope Variable
Variable a is declared
in main()
Variable b is declared
within while loop
block (inner block)
a is the outer block
variable therefore it
is accessible within
inner block
b is not accessible in
the outer block
because it is while
loop variable
131
Scope Variable
num2 is declared in main()
132
Global Variable
Variables declared outside any
function is called global variables
Global variables are variables that
can be accessed in any function
Normally they are declared before
function main()
133
Global Variable
num2 is a global variable
134
Recursive Function
Function that calls itself either
directly or indirectly through another
function
135
Example 5
Sample output:
0! = 1
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
136
Exercise
Write a program that utilizes a
function with parameters. The
program reads 3 integer numbers
from the user and sends the 3 input
to the function. The function finds
the smallest value between the 3
Enter three
inter return the value
integer numbers
and
numbers:
to the main 30
function.
80
20
Smallest value: 20
137
Exercise
Consider the following program, what
is the value of num1 and num2 after
each statement is executed?
138
num1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
num2
void funcA(int);
int funcB(int);
int num2 = 2;
int main(void)
{
int num1 = 1;
num2 = funcB(num1);
funcA(num1);
funcA(num2);
return 0;
}
void funcA(int num1)
{
num1 = num1 + num2;
num2 = num1 + num2;
}
int funcB(int num1)
{
num1 = num1 + num2;
return num1;
}
139
Chapter 5
Arrays
140
LESSON OUTCOME
At the end of the lesson, students should
be able to describe and explain:
Introduction to Array
Array Declaration and Initialization
Using Arrays
Character Arrays
Using Character Arrays
Passing Entire Array to Function
Passing Element of Array to Function
Two Dimensional Array
141
Introduction
A group of memory locations that
have the same name and the same
type.
Allows to store a sequence of values.
142
Introduction
First element in an array is the
zeroth element, a[0]
In the example to the right:_
Second element is a[1]= 6.
Element two is a[2]=11. Different
way of statement resulting in
different meaning!
If b=2 and c=4, then
a[b+c] =a[b+c]+2;
a[2+4] =a[2+4]+2;
a[6] = a[6]+2;
a[6] = 10;
int a[5];
int a[5] = {0};
//all elements equal zero
int a[5] = {10, 20, 30, 40, 50};
int a[5] = {10, 20, 30, 40, 50, 60}; //error
float a[5] = {1.1, 2.2, 3.3, 4.4, 5.5};
char a[6] = {'h', 'e', 'l', 'l', 'o'};
Note: a[5] carries the value /0, more on
this later.
144
Example
145
Using Arrays
Declare an integer array named a with 10
elements
int a[10];
146
Character Arrays
Store characters
Character arrays are capable of storing
strings
Revise: %c for characters ( eg. A, b, c, D )
%s for strings ( eg. hi, welcome,
good )
147
Character Arrays
char string[]="hello";
Initializes the elements of array string to
the individual characters in the string
hello
string "hello" has 5 characters plus a
special string termination character called
null character '\0'
148
Character Arrays
char x[]={'h', 'e', 'l', 'l', 'o', '\0'};
x[0]
x[1]
x[2]
x[3]
x[4]
x[5]
=
=
=
=
=
=
'h'
'e'
'l'
'l'
'e
'\0'
149
Example
151
152
//array declaration
//function prototype
}
the passed array
func(array)
//call function
153
154
155
Example
156
157
Declaration and
Initialization
int a[2][3];
int a[2][3] = {{1, 2, 3}, {2, 3, 4}};
1st Row
2nd Row
158
Declaration and
Initialization
159
Example
160
Exercise
Write a program to print the values
of each element of a 3-by-2 array
using nested loop.. Initialize the array
as:
{12.0,14.2},{13.0,16.5},
{10.5,11.0}
161
Chapter 6
Pointers
162
LESSON OUTCOME
At the end of the lesson, students should
be able to describe and explain:
Introduction
Pointer Declaration and Initilization
Using Pointers
Call-by-reference
Pointers and Arrays
Arrays of Pointers
163
Introduction
Pointers are variables whose values
are memory addresses
A pointer contains an address of a
variable that contains a specific
value
164
Introduction
Count directly
references a
variable that
contains the value 5
Pointer indirectly
references a
variable that
contains the value 5
(indirection)
count
Pointer
count
yPtr
y
5
Location
60000
50000
Location
60000
Using Pointers
* (indirection) operator returns the
value of the object a pointer refers to
Assume y = 5
yPtr = &y;
z = *yPtr + 5;
*yPtr = 7;
z = *yPtr + 5;
yPtr = &z;
167
Example
168
Example
169
Call-by-reference
The original variable address is
passed to the function by using &
operator.
Ability to access the variables
directly and to modify them if
required.
170
Example
num1 = 3 before
Value returned:
9
num1 = 3 after
num2 = 5 before
& (address) operator is specifiednum2 = 25 after
a pointer
numRef = numRef * numRef
171
172
bPtr bPtr+1
b
0 1 2 3 4
Arrays of Pointers
Since pointers are variables
Can be stored in arrays
Array of memory addresses
174
Example
Sample output:
3
5
10
175
Additional - Pointers to
Functions
A pointer to a function
contains the address of the
function
Similarly, a function called
through a pointer must also
passes the number and type
of the arguments and the
type of return value that is
expected
176
Example
177
Exercise
Consider the following statements,
what is the value of px and py after
each statement is executed?
178
px
1
2
3
4
5
6
7
8
9
10
py
int x, y, z;
int *px, *py, *pz;
x = 5;
y = 10;
px = &x;
py = &y;
z = 15;
py = &z;
px = py
Given:
address x = 0 x 00FC24BB
address y = 0 x 00AACCDD
address z = 0 x 00EE58FA
179
Chapter 7
C Structures
180
Definition
A structure or struct is a collection of
variables under a single name.
These variables can be of different
types, and each can be accessed by its
name.
Variables in a struct are called
members or fields. A structure may
include arrays, pointers and another
structure as its member.
181
Declaration of struct
Normally, a struct is defined before the
main function.
Declaring a struct requires the struct
keyword, followed by a name.
Then the collection of variables is
declared between a pair of curly
bracekets.
The closing bracket must be followed
by a semi colon.
182
General
Example
struct
struct employee {
struct_tag_name { char name[20];
type field_name1; int salary;
type field_name2; };
};
183
Declaring a structure
variables
General
E
struct struct_tag_name {
type field_name1;
type field_name2;
} struct_var1,struct_var2;
Example
struct employee {
char name[20];
int salary;
} Employee1, Employee2;
struct {
type field_name1;
type field_name2;
} struct_var1,struct_var2;
Example
struct {
char name[20];
int salary;
} Employee1, Employee2;
184
Example
struct employee {
char name[20];
int salary;
};
main ( ) {
struct employee Employee1,
Employee2;
.
.
185
Initializing structure
variables
There are two ways to initialize variables:
1. All Fields In One Statement.
struct Employee Employee1 = {Maria, 1200};
Arrays of structure
variables
a group of similar type variable can be stored in an array.
struct dbase{
char *name;
int salary;
};
main()
{
struct dbase employee[2];
employee [0].name="maria";
employee [0].salary=1200;
employee [1].name="tony";
employee [1].salary=2000;
187
188
name :
salary
name :
salary
%s \n", employee[0].name);
: %d \n", employee [0].salary);
%s \n", employee[1].name);
: %d \n", employee [1].salary);
Or using loop
for (i=0;i<3;i++)
{
printf(" name : %s \n", employee[i].name);
printf(" salary : %d \n", employee [i].salary);
}
189
Pointing to structures
A pointer can be a member of a
structure.
It is used to refer to a struct by its
address.
The pointer stores the memory
address of a structure variable.
Use arrow operator (->) to access the
structure members/fields.
190
#include <stdio.h>
struct data {
int id;
char *name;
char *address;
};
int main() {
struct data employee, *stPtr;
stPtr = &employee;
//Pointing to structure variable
employee
stPtr->id = 1;
// Accessing the structure field
stPtr->name = "Alina";
// (*strPtr).name = Alina can
also be used
stPtr->address ="Penang";
printf("Employee Information:\n");
printf("id=%d\n %s\n %s\n", stPtr->id, stPtr->name,stPtr>address);
return 0;
}
191
Exercise
Declare a structure named data that
consists name, age, weight and
height as its field members. Declare a
structure variable named
people[3].Then write a program that
calculate the Body mass index (BMI)
of 3 the people. Use this BMI formula:
BMI= weight/(height x height)
192