C Language
C Language
Memory
a b
25 S
Variables
R u le s
c. no comma/blank s pace
Types
32 Ke yw o r d s in C
K eywor ds
auto double int stru ct
do if static while
in t main () {
prin t f (" Hello World ");
re t u rn 0 ;
}
Comments
Lines that are not part of
program
Single M u ltiple
Line Line
/*
/
*
/
/
Output
printf(" Hello Wo r ld
");
new line
printf(" kuch bhi \
n ");
Output
CASES
1. integers
pr intf(" age is % d " , age);
2. real numbers
printf(" value of pi i s % f ", pi);
3. characters
printf(" star looks like this % c ",
star);
Inpu
t
scanf(" % d ",
&age);
Compilation
A computer program that translates C
code into machine code
a.exe (windows)
Hello.c C Compiler
a.out (linux &
mac)
C Language Tutorial
(Basic to Advanced)
Topics to be covered :
Installation + Setup
Chapter 1 - Variables, Data types + Input/Output
Chapter 2 - Instructions & Operators
Chapter 3 - Conditional Statements
Chapter 4 - Loop Control Statements
Chapter 5 - Functions & Recursion
Chapter 6 - Pointers
Chapter 7 - Arrays
Chapter 8 - Strings
Chapter 9 - Structures
Chapter 10 - File I/O
Chapter 11 - Dynamic
Memory Allocation
1. First Program
#include<stdio.h>
int main()
{ printf("Hello
World"); return 0;
}
int main()
{ int
number;
int age;
int price;
return 0;
}
#include<stdio.h>
int main() {
int age = 22;
float pi = 3.14;
char percentage = '%';
return 0;
}
3. Comments
#include<stdio.h>
//This program prints Hello World
int main() {
printf("Hello World");
return 0;
}
4. Output
#include<stdio.h>
int main() {
int age = 22;
float pi = 3.14;
char percentage
= '%';
int main() {
int a,
b;
printf("enter a \n");
scanf("%d", &a);
printf("enter b \n");
scanf("%d", &b);
return 0;
}
Types
Type Con tr ol
Declaration A r i t hme t ic Instru ct ions
In stru c t ion s Instru ct ions
In stru c t ion s
Type Declaration Declare v a r before using
In stru c t ion s it
VALID INVALID
in t a = in t a =
22 ; in t b 22 ; in t b
= a; = a;
in t c = b + in t c = b +
1 ; int d = 1 , 2 ; int d = 2 ,
e ;
in t a,b,c; e;
in t a,b,c = 1 ;
a=b=c=
1;
A r i t hme t ic In stru c t ion s
a+
b
Oper and 1 Oper and 2
Oper at or
a=b* a = bc
c a=b a=
/ c b ^c
3%2=1
-3 % 2 = -1
A r i t hme t ic In stru c t ion s
Type
Conversion
int
in t op in t
*, / , x = 4 + 9 * 10
%
+, -
= x=4*3/ 6*2
A r i t hme t ic In stru c t ion s
Associativity (for same
precedence)
Lef t t o Right
x=4*3/ 6*2
In stru c t ion s
Con tr ol In stru c t ion s
Used t o determine flow of
program
a. Sequence Con tr ol
b. Decision Con tr ol
c. Loop Cont r ol
d. Case Con tr ol
Oper at or
s
a. A r i t hme t ic Ope r a t o rs
b. Relational Ope r a t o rs
c. Logical Ope r a t o rs
d. Bi tw i s e Ope r a t o rs
e. Assignment Ope r a t o rs
f. Te r na ry Ope r a t o r
Oper at or
sRelational Ope r a t o rs
==
>, >=
<, <=
!=
Oper at or
sLogical Ope r a t o rs
&& AND
|| OR
! NOT
Ope r a t o r Precendence
P r io r i ty Oper at or
1 !
2 *, / ,
%
3 +, -
6 &&
7 ||
8 =
Oper at or
sAssignment Ope r a t o rs
=
+=
-=
*=
/=
%=
C Language Tutorial
(Basic to Advanced)
Topics to be covered :
Installation + Setup
Chapter 1 - Variables, Data types + Input/Output
Chapter 2 - Instructions & Operators
Chapter 3 - Conditional Statements
Chapter 4 - Loop Control Statements
Chapter 5 - Functions & Recursion
Chapter 6 - Pointers
Chapter 7 - Arrays
Chapter 8 - Strings
Chapter 9 - Structures
Chapter 10 - File I/O
Chapter 11 - Dynamic
Memory Allocation
int main() {
int age = 22;
int oldAge = age;
int newAge = oldAge + 2;
printf("new age is : %d", newAge);
/*
order of declaration is important - Wrong Declaration Order
float pi = 3.14;
float area = pi * rad * rad;
float rad = 3;
*/
// valid declaration
int age1, age2, age3;
age1 = age2 = age3 = 22;
//invalid
//int a1 = a2 = a3 = 22;
return 0;
}
2. Arithmetic Instructions
#include<stdio.h>
int main() {
int a = 1, b = 2, c = 3;
//valid
a = b + c;
//invalid
// b + c = a;
int main() {
printf("sum of 2 & 3 : %d", 2 + 3);
printf("sum of 2.0 & 3 : %f", 2.0 + 3);
printf("sum of 2.0 & 3.0 : %f", 2.0 + 3.0);
return 0;
}
> Associativity
#include<stdio.h>
int main() {
printf(" Output : %d", 5+2/2*3);
return 0;
}
3. Relational Operator
#include<stdio.h>
int main() {
printf("%d \n", 4==4);
4. Logical Operator
#include<stdio.h>
int main() {
printf("%d \n", 3<4 && 3<5);
printf("%d \n", 3<4 && 5<4);
int main()
{ int a =
10; a +=
10;
printf("a+10 = %d \n", a); a
-= 10;
printf("a-10 = %d \n", a); a
*= 10;
printf("a*10 = %d \n", a); a
/= 10;
printf("a/10 = %d \n", a); a
%= 10;
printf("a%c10 = %d \n", '%', a);
return 0;
}
Condi t ional S t a t emen ts
T y pe s
if - S w i tch
el s e
if -
el s e
if ( Condi t ion ) {
//do s ome t hing if TRUE
}
el s e {
//do s ome t hing if
FALSE
}
can al s o w o r k w i t ho ut
{}
el s e if
if ( Condi t ion 1 ) {
//do s ome t hing if TRUE
}
el s e if ( Condi t ion 2 ) {
//do s ome t hing if 1st i s FALSE & 2 nd i s
TRUE
}
Condi t ional Ope r a t o rs
Te r na ry
giv e 1 & 0
ca s es
Condi t ional Ope r a t o rs
sw i t ch
sw i tch (n u mbe r ) {
ca s e C 1 : //do
s ome t hing
b r eak ;
ca s e C 2 : //do
s ome t hing
b r eak ;
defa u l t : //do
s ome t hing
Condi t ional Ope r a t o rs
sw i t ch P r ope rt ie s
a. Ca s e s can be in an y
o r de r
b . Ne st ed sw i t ch ( sw i t ch in s ide sw i t ch ) a r e
allo w ed
C Language Tutorial
(Basic to Advanced)
Topics to be covered :
Installation + Setup
Chapter 1 - Variables, Data types + Input/Output
Chapter 2 - Instructions & Operators
Chapter 3 - Conditional Statements
Chapter 4 - Loop Control Statements
Chapter 5 - Functions & Recursion
Chapter 6 - Pointers
Chapter 7 - Arrays
Chapter 8 - Strings
Chapter 9 - Structures
Chapter 10 - File I/O
Chapter 11 - Dynamic
Memory Allocation
Conditional Statements
(Chapter 3)
1. If-else
#include<stdio.h>
int main() {
int age = 19;
if(age >= 18) {
printf("you
are an
adult");
}
else {
printf("you
are not an
adult");
}
return
> check 0;number is odd or even
if a
}
#include<stdio.h>
int main()
{ int
number;
scanf("%d", &number);
if(number % 2 == 0) {
printf("even");
}
else {
printf("odd");
}
return 0;
}
int main() {
int age;
printf("Enter age : ");
scanf("%d", &age);
int main() {
int age;
printf("Enter age : ");
scanf("%d", &age);
int number = 7;
int luckyNumber = 7;
return 0;
}
3. Switch (integer)
#include<stdio.h>
#include<math.h>
int main()
{ int day =
5;
switch(day) {
case 1 :
printf("
monday \
n");
br
e
a
k
;
case 2 : printf("tuesday \n");
break;
case 3 : printf("wednesday \n");
break;
case 4 : printf("thursday \n");
break;
case 5 : printf("friday \n");
break;
case 6 : printf("saturday \n");
break;
case 7 :
4. Switch printf("sunday \n");
(character)
#include<stdio.h>
break;
#include<math.h>
}
return 0;
int
} main() {
char day = 'f';
switch(day) {
case 'm' : printf("monday \n");
break;
case 't' : printf("tuesday \n");
break;
case 'w' : printf("wednesday \n");
break;
case 'T' : printf("thursday \n");
break;
case 'f' : printf("friday \n");
break;
case 's' : printf("saturday \n");
break;
case 'S' : printf("sunday \n");
break;
}
return 0;
}
Loop Con tr ol
In stru c t ion s
To r epea t s ome pa rts of t he
p r og r am
T y pe s
fo r do w hile
w hile
fo r Loop
}
Special Thing s
- Loop co u n t e r can be
floa t o r e v en cha r ac t e r
- Infini te Loop
w hile Loop
}
do w hile
Loop
do
{
//do s ome t hing
}
w hile (condi tion );
b r eak S t a t emen t
e x i t t he
loop
con t in u e S t a t emen t
s kip to ne xt
i t e r a t ion
Ne st ed Loop s
fo r ( .. ) {
fo r ( .. )
{
}
}
C Language Tutorial
(Basic to Advanced)
Topics to be covered :
Installation + Setup
Chapter 1 - Variables, Data types + Input/Output
Chapter 2 - Instructions & Operators
Chapter 3 - Conditional Statements
Chapter 4 - Loop Control Statements
Chapter 5 - Functions & Recursion
Chapter 6 - Pointers
Chapter 7 - Arrays
Chapter 8 - Strings
Chapter 9 - Structures
Chapter 10 - File I/O
Chapter 11 - Dynamic
Memory Allocation
1. Syntax of 3 Loops
# include <stdio.h>
int main () {
//for loop
for(int i=1; i<=100; i++) {
printf("%d\n", i);
}
return 0;
}
Function s
Take Do Retur n
Ar gu men Wo r k
t Re su l t
it can be us ed multiple
times increase code
reusabili ty
Syntax 1
Function
Prototype
void printHello( );
void printHello() {
pr intf(" Hello");
}
> Do the
Syntax 3
Function Call
int main() {
pr intHello( )
; return 0 ;
}
> U s e the
P r operties
Library U s er -
defined
fu nction
Special declar ed & defined
fu nctions by programmer
inbuilt in C
s canf( ), pr intf(
)
Passing
Arguments
fu nctions can take v alu e & giv e s ome
v alu e
par ameter r etur n v al ue
Passing
Arguments
void printHello( );
void printTable(int
b);
Passing
Arguments
fu nctions can take v alu e & giv e s ome
v alu e
par ameter r etur n v al ue
Argument v/s
Parameter
v al u e s that v al u e s in
are passed in function
function call declaration &
definition
us ed to us ed to
send receive
v al ue v al ue
actual formal
par ameter par ameters
NOTE
in calling function.
Beca us e a copy of argument i s passed to the function
Recurs io
n
When a function calls itself, i t ' s called
recursion
P r operties of
Recurs ion
a.Anything that can be done with Iteration, can be done
with recursion and vice-versa.
Topics to be covered :
Installation + Setup
Chapter 1 - Variables, Data types + Input/Output
Chapter 2 - Instructions & Operators
Chapter 3 - Conditional Statements
Chapter 4 - Loop Control Statements
Chapter 5 - Functions & Recursion
Chapter 6 - Pointers
Chapter 7 - Arrays
Chapter 8 - Strings
Chapter 9 - Structures
Chapter 10 - File I/O
Chapter 11 - Dynamic
Memory Allocation
//function declaration/prototype
void printHello();
int main() {
//function call
printHello();
return 0;
}
//function
definition void
printHello() {
printf("Hello!\
n");
}
2. Function to calculate square of a number
# include <stdio.h>
//function to calculate square of a number
int calcSquare(int n);
int main() {
int n;
printf("ente
r n : ");
scanf("%d",
&n);
printf("square is : %d", calcSquare(n));
return 0;
}
int calcSquare(int n) {
return n * n;
}
# include <stdio.h>
//function to print factorial of n
int factorial(int n);
int main() {
int n;
printf("ente
r n : ");
scanf("%d",
&n);
printf("factorial is : %d", factorial(n));
return 0;
}
int factorial(int n) {
if(n == 0) {
return 1;
}
int factnm1 = factorial(n-1);
int factn = factnm1 * n;
return factn;
}
Poin ter
s
A va riable t ha t stores t he
memo ry address of ano t he r
va r iable
M emo ry
age p tr
22 2010
2010 2013
Sy n t a normal
x variable
nenavav
2023-02-12 19:52:47
--------------------------------------------
normal variable
in t age = 22 ;
in t *p tr =
= * p tr ;
M emo ry
age p tr
22 2010
2010 2013
Decla ring Pointers
in t * p tr ;
cha r * p tr ;
floa t
* p tr ;
Fo r ma t Specifie r
p r in t f ("% p ", p tr );
age pp tr p tr
22 2013 2010
in t ** pp tr ;
cha r ** pp tr ;
floa t
** pp tr ;
Pointers in F u nc t ion Call
Call b y call b y
Value Refer ence
Topics to be covered :
Installation + Setup
Chapter 1 - Variables, Data types + Input/Output
Chapter 2 - Instructions & Operators
Chapter 3 - Conditional Statements
Chapter 4 - Loop Control Statements
Chapter 5 - Functions & Recursion
Chapter 6 - Pointers
Chapter 7 - Arrays
Chapter 8 - Strings
Chapter 9 - Structures
Chapter 10 - File I/O
Chapter 11 - Dynamic
Memory Allocation
Pointers
(Chapter 6)
1. Syntax
#include<stdio.h>
int main() {
int age = 22;
int *ptr = &age;
int _age =
*ptr;
printf("%d\n",
_age);
//address
printf("%p\n", &age);
printf("%p\n", ptr);
printf("%p\n",
&ptr);
//data printf("%d\
n", age);
printf("%d\n", *ptr);
printf("%d\n", *(&age));
return 0;
}
int main() {
int number = 4;
//call by value
square(number);
printf("n is :
%d\n", number);
//call by
reference
_square(&number
);
printf("n is : %d\n", number);
return 0;
}
void square(int n) {
n = n * n;
printf("square is :
%d\n", n);
}
void _square(int* n)
{
3. Swap 2 numbers
*ninclude
# = *n * <stdio.h>
*n;
printf("square is :
%d\n", *n);
void swap(int a, int b);
}
void _swap(int* a, int *b);
int main() {
int x = 3, y = 5;
//call by value
swap(x, y);
printf("x = %d & y = %d\n", x, y);
//call by reference
_swap(&x, &y);
printf("x = %d & y = %d\n", x, y);
return 0;
}
char name[10];
float price[2];
Input & Out put
scanf(" % d" ,
&mar ks[0 ]);
Memo ry
Reserved :
Poin t e r A r i t hme t ic
Poin t e r can be
incremented &
decremented
CASE 1
Poin t e r A r i t hme t ic
CASE 2
CASE 3
Poin t e r A r i t hme t ic
int * pt r =
ar r ;
Traverse an
A rr a y
in t aadhar[10];
int * pt r =
&aadhar [0 ];
A rr a ys as F u nc t ion
Argument
//Function Declaration
void p r in t Numbers (int a rr [ ], in t
n)
OR
void p r in t Numbers (int * a rr , in t
n)
//Function Call
p r in t N umbe rs (a rr ,
n);
Multidimensional A rr a ys
2 D A rr a ys
int ar r [ ][ ] = { {1 , 2 }, {3 , 4 } };
//Declar e
//
Access
a rr [ 0 ][ 0 ]
a rr [ 0 ][ 1 ]
a rr [ 1 ][ 0 ]
a rr [ 1 ][ 1 ]
C Language Tutorial
(Basic to Advanced)
Topics to be covered :
Installation + Setup
Chapter 1 - Variables, Data types + Input/Output
Chapter 2 - Instructions & Operators
Chapter 3 - Conditional Statements
Chapter 4 - Loop Control Statements
Chapter 5 - Functions & Recursion
Chapter 6 - Pointers
Chapter 7 - Arrays
Chapter 8 - Strings
Chapter 9 - Structures
Chapter 10 - File I/O
Chapter 11 - Dynamic
Memory Allocation
Arrays
(Chapter 7)
1. Syntax
# include <stdio.h>
int main() {
int marks[3];
printf("physics : ");
scanf("%d",
&marks[0]);
printf("chem : ");
scanf("%d",
&marks[1]);
printf("math : ");
scanf("%d",
&marks[2]);
2. Pointer Arithmetic
# include <stdio.h>
int main() {
printf("%u\n", ptr);
ptr++; printf("%u\
n", ptr); ptr--;
printf("%u\n", ptr);
ptr = ptr - _ptr;
printf("%u\n", ptr);
ptr = &_age;
printf("%d\n", ptr
== _ptr);
return 0;
}
3. Accessing an Array
# include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5, 6};
printNumbers(arr, 6);
printNumbers(arr, 6);
return 0;
}
void printNumbers(int *arr, int n) {
for(int i=0; i<n; i++) {
printf("%d : %d\n", i, arr[i]);
}
}
termination EXAMPLE
char name[ ] = {' S ', ' H ', ' R ', ' A ', ' D ', ' H ', ' A ',' \0 '};
char cla ss [ ] = {' A ', ' P ', ' N ', ' A ', ' ', ' C ', ' O ', ' L ', ' L ', ' E ', ' G ', ' E ', ' \
0 '};
Initialising
Strings
char name[ ] = {' S ', ' H ', ' R ', ' A ', ' D ', ' H ', ' A ',' \
0 '};
char cla ss [ ] = {' A ', ' P ', ' N ', ' A ', ' ', ' C ', ' O ', ' L ', ' L ', ' E ', ' G ', ' E ', ' \
0 '};
nam
e
S H R A D H A \0
char name[ ] =
" Sh r adha "; printf("%s",
name);
IMPORTANT
scanf( ) cannot input multi-word strings with
spaces
Here,
gets( ) & puts ( ) come into picture
String
Functions Dangerous
gets(str) & puts(str)
Outdated
input a string
output a
(even
string
mu ltiwor d)
fgets( str , n,
file)
stops when n - 1
chars input or
new line is
entered
String using
Pointers
char *str = " Hello Wo r ld ";
Store string in memory & the assigned
address is stored in the char pointer
' str '
1 strlen(str)
count number of characters excluding
'\0'
Standard Library
Functions
<string.h>
2 strcpy(newStr, oldStr)
copies value of old string to new
string
Standard Library
Functions
<string.h>
3 strcat(firstStr, secStr)
concatenates first string with second
string
firstStr should be
large
enough
Standard Library
Functions
<string.h>
4 strcpm(firstStr, secStr)
Compares 2 strings & returns a
value
(ASCII)
C Language Tutorial
(Basic to Advanced)
Topics to be covered :
Installation + Setup
Chapter 1 - Variables, Data types + Input/Output
Chapter 2 - Instructions & Operators
Chapter 3 - Conditional Statements
Chapter 4 - Loop Control Statements
Chapter 5 - Functions & Recursion
Chapter 6 - Pointers
Chapter 7 - Arrays
Chapter 8 - Strings
Chapter 9 - Structures
Chapter 10 - File I/O
Chapter 11 - Dynamic
Memory Allocation
Strings
(Chapter 8)
1. Strings
# include <stdio.h>
# include <string.h>
int main() {
//declaration
char name[] = "Shradha Khapra";
char course[] = {'a','p', 'n', 'a', ' ', 'c', 'o', 'l', 'l', 'e', 'g',
'e', '\0'};
//printing string
for(int i=0; name[i] != '\0'; i++) {
printf("%c", name[i]);
}
printf("\n");
//input a string
char firstName[40];
printf("enter first name : ");
scanf("%s", firstName);
printf("you first name is %s\n", firstName);
char fullName[40];
printf("enter full name : ");
scanf("%s", fullName);
printf("you first name is %s\
n", fullName);
//Library Functions
char name[] = "Shradha";
int length = strlen(name);
printf("the length of name
: %d\n", length);
while(ch != '\
n') {
scanf("%c", &ch);
str[i] = ch;
i++;
}
str[i] = '\0';
puts(str);
return 0;
}
int main() {
char str[] = "ApnaCollege";
char ch = 'x';
checkChar(str, ch);
}
EXAMPLE
Fo r a stu den t st o r e t he
following : name (String)
cgpa (Float )
S y nt a x
in t r oll ;
float cgpa;
};
S y nt a x
in t r oll ;
float cgpa;
}
S tru c tur e s in Memo ry nam r oll cgp
e a
in t r oll ;
float cgpa;
ACCESS
IT [ 0 ]. r oll = 200 ;
IT[0].cgpa =
7.6;
Initializing S tru c tur e s
p tr =& s1 ;
A rr o w Ope r a t o r
coe
st u dent 1 ;
C Language Tutorial
(Basic to Advanced)
Topics to be covered :
Installation + Setup
Chapter 1 - Variables, Data types + Input/Output
Chapter 2 - Instructions & Operators
Chapter 3 - Conditional Statements
Chapter 4 - Loop Control Statements
Chapter 5 - Functions & Recursion
Chapter 6 - Pointers
Chapter 7 - Arrays
Chapter 8 - Strings
Chapter 9 - Structures
Chapter 10 - File I/O
Chapter 11 - Dynamic
Memory Allocation
Structures
(Chapter 9)
1. Structures
# include <stdio.h>
# include <string.h>
struct student
{ char
name[100]; int
roll;
float cgpa;
};
int main() {
struct student s1;
// s1.name = "Shradha"; // not a modifiable value
strcpy(s1.name,"Shradha");
s1.roll = 64;
s1.cgpa = 9.2;
//array of structures
struct student IT[60];
struct student COE[60];
struct student
ECE[60];
//declaration
struct student s2 = {"Rajat", 1552, 8.6};
struct student s3 = {0};
//pointer to structure
struct student *ptr = &s1;
printf("student.name = %s\n", (*ptr).name);
printf("student.roll = %d\n",
(*ptr).roll); printf("student.cgpa = %f\
n", (*ptr).cgpa);
//arrow operator
printf("student->name = %s\n", ptr->name);
printf("student->roll = %d\n", ptr-
>roll); printf("student->cgpa = %f\n",
ptr->cgpa);
//typedef keyword
coe student1;
student1.roll =
1664;
student1.cgpa =
6.7;
strcpy(student1.name, "sudhir");
return 0;
}
//change
s1.roll = 1660; //but it won't be
reflected to the main function
//as structures are
passed by value
}
> Some more Qs
# include <stdio.h>
# include <string.h>
//user defined
typedef struct student {
int roll;
float cgpa; char
name[100];
} stu ;
struct address {
int houseNo;
int block;
char city[100];
char state[100];
};
struct vector {
int x;
int y;
};
void calcSum(struct vector v1, struct vector v2, struct vector sum);
struct complex {
int real;
int img;
};
int main() {
acc acc1 = {123, "shradha"};
acc acc2 = {124, "rajat"};
acc acc3 = {125, "sudhir"};
void calcSum(struct vector v1, struct vector v2, struct vector sum) {
sum.x = v1.x + v2.x;
sum.y = v1.y + v2.y;
RAM Har d
Dis k
File IO
- RAM i s volatile
Open a File
Close a File
Read from a
File
W r i t e in a File
Ty pes of
F iles
Text File s Bina ry File s
FILE * fp tr ;
Opening a
File
FILE * fp tr ;
Closing a
File
fclose(fptr);
File Opening
Modes
"r" open to
read
" r b" open to read in
binary
"w" open to
write
" w b" open to write in
binary
"a" open to
append
BEST
Practice
Check if a file e x i sts before reading from
it.
Reading from a
file
char ch ;
Topics to be covered :
Installation + Setup
Chapter 1 - Variables, Data types + Input/Output
Chapter 2 - Instructions & Operators
Chapter 3 - Conditional Statements
Chapter 4 - Loop Control Statements
Chapter 5 - Functions & Recursion
Chapter 6 - Pointers
Chapter 7 - Arrays
Chapter 8 - Strings
Chapter 9 - Structures
Chapter 10 - File I/O
Chapter 11 - Dynamic
Memory Allocation
File I/O
(Chapter 10)
# include <stdio.h>
int main()
{ FILE
*fptr;
//Reading a file
char ch;
fptr = fopen("Test.txt", "r");
if(fptr == NULL) {
printf("doesn't exist!\n");
} else {
fscanf(fptr, "%c", &ch);
printf("character in file is : %c\n", ch);
fscanf(fptr, "%c", &ch);
printf("character in file is : %c\n", ch);
fclose(fptr);
}
//Writing in a file
ch = 'M';
fptr =
fopen("NewFile.txt"
, "w");
fprintf(fptr, "%cANGO", ch);
fclose(fptr);
//fgets
fptr = fopen("NewFile.txt",
"r");
printf("character in file is : %c\n", fgetc(fptr));
printf("character in file is : %c\n",
fgetc(fptr)); printf("character in file is : %c\
n", fgetc(fptr)); printf("character in file is :
%c\n", fgetc(fptr)); printf("character in file
is : %c\n", fgetc(fptr)); fclose(fptr);
//fputc
fptr = fopen("NewFile.txt", "w");
fputc('a', fptr);
fputc('p', fptr);
fputc('p', fptr);
fputc('l', fptr);
fputc('e', fptr);
fclose(fptr);
return 0;
}
D y namic Memo ry Alloca t ion
b. calloc ( )
c. free( )
d. realloc ( )
malloc ( )
memo ry alloca t ion
init ializ es w i t h 0
free(ptr );
realloc ( )
r ealloca t e (increase o r decrease)
memo ry using t he same poin t e r & size.
p tr = r ealloc ( p tr , newSize);
C Language Tutorial
(Basic to Advanced)
Topics to be covered :
Installation + Setup
Chapter 1 - Variables, Data types + Input/Output
Chapter 2 - Instructions & Operators
Chapter 3 - Conditional Statements
Chapter 4 - Loop Control Statements
Chapter 5 - Functions & Recursion
Chapter 6 - Pointers
Chapter 7 - Arrays
Chapter 8 - Strings
Chapter 9 - Structures
Chapter 10 - File I/O
Chapter 11 - Dynamic
Memory Allocation
# include <stdio.h>
# include <stdlib.h>
//Dynamic Memory Allocation
int main() {
//sizeof function printf("%d\
n", sizeof(int)); printf("%d\
n", sizeof(float));
printf("%d\n", sizeof(char));
//malloc
// int *ptr;
// ptr = (int *) malloc(5 *
sizeof(int));
//calloc
int *ptr = (int *) calloc(5, sizeof(int));
//free
free(ptr);
return 0;
}