You are on page 1of 27

UNIT-V

HISTORY OF UNIX/LINUX
Lu~ 1969 ds dsu Fkkelu (Ken Thompson) and Msuhl fjph ds AT+T Bell esa Unix dk
fuekZ.k fd;k mUgksaus bldk fuekZ.k Lo;a rFkk vius lgikfB;ksa ds fy, fd;k FkkA blds ckn
bleas dbZ yksxksa us vusd vkSj ;qfVyhV izksxke tksM+sA Bell Lab Computer ds O;kikj
esa ugha Fkh blfy, mUgksaus bldks fo’ofo|ky; ds uke ek= dher esa csp fn;kA
Unix ‘C’ Language esa cuh gqbZ gSaA Linux Unix dk gh Lo:i gSaA Linux ,d Standard
Operating System gSa ftls lHkh yksx pkgs os oSKkfud gks] izksxzkej gks] dkQh le; ls
mi;ksx dj jgs gSaA blds fuekZrkvksa us blds Source Code dks Internet ij eq¶r esa miyC/k
djok fn;kA ftlls bldh yksdfiz;rk c<+hA tSls tSls yksxksa us bls ns[kk vkSj blesa dbZ u;s
Function vkSj u;s izksxzke Add fd;s ftlls ;g vkSj vf/kd yksdfiz; o Powerful gks x;kA
What is Linux:- Linux ,d Operating System gSaA Linux ,d GUI (Graphical User
Interface) Based OS gSaA
Linux Operating System esa Kernel lcls fuEu Lrj ij gksrk gSaA vkSj Supervisor, Sub
routine gksrs gSaA Kernal ds mij Shell gksrk gSaA Shell og Interface gSa tks User vkSj
kernel ds chp e/;orhZ dk dk;Z djrk gSaA User lnSo Shell ls Interred djrk gSaA vkSj Shell
Kernal ls Intrect djrk gSaA User lh/ks Kernal ls Intrect ugha dj ldrk gSaA tc User dksbZ
Command nsrk gSaA rks og Shell ds ikl tkrk gSaA Shell mls Kernal ds ikl mlds le>us
okyh Hkk"kk esa ifjofrZr djds Hkst nsrk gSaA blfy, Shell dks Command Interpreter Hkh
dgrs gSaA

PHOTO
Kernal:- Kernal Linux dk eq[; Hkkx gSaA Kernal Linux dk g`n; gSaA Linux dh tku
gSaA ;g Hardware Parts ds lkFk Intrect djrk gSaA rFkk mUgsa Manage djrk gSaA ;g
dEi;wVj dh Memory dks Hkh Manage djrk gSaA ;g Error dks gVkrk gSaA User ds }kjk
fn;s x;s Request dks Execute djrk gSaA ;g Shell dks 'kq: djrk gSa rFkk mldks User ds
lkFk tksM+rk gSaA ;g File System Provide djrk gSaA Linux esa Kernal cgqr gh
egRoiw.kZ gSaA Computer ds Start gksrs gh lcls igys Kernal Load gksrk gSaA
Kernal Linux ds lcls fupys Lrj ij dk;Z djrk gSaA rFkk iwjs System ij Control djrk gSaA
Architecture of Linux System:- Linux ds eq[; :i ls nks Hkkx gksrs gSa%&
(1) Kernal
(2) System Program
Kernal lnSo Hardware rFkk System dks vyx&vyx j[krk gSaA D;ksafd izksxzke LorU=
gksrs gSaA blfy, fdlh Hkh Hardware ij System dks ju djuk vklku gksrk gSaA Kernal
Cells ds }kjk vU; vkSj izksxzke tSls Shell A Fiters ds ikl Interact djrk gSaA
Linux esa System Cell dks ge 3 Hkkxksa esa foHkkftr djrs gSaA
(1) File Manipulation
(2) Process Control
(3) Information
Linux File System:- ,d Linux dh QkbZy Byte dk leqg gksrh gSaA lHkh File Text Form
esa gksrh gSaA MkbZjsDVjh (dir) Hkh vius vki esa ,d QkbZy gksrh gSaA Contents ;g
gksrs gSa fd fdUgh nwljh QkbZy dks dSls <qa<k tk,A ,d File dk Path Name ,d Text
gksrk gSa vkSj ;g crkrk gSa fd ;g File ml Directory Structure ij dgk¡ ij iM+h gSa uhps
fn;s x;s Figure ;g crkrk gSa fd Linux File System Tree ds :i gksrk gSaA ftlesa ,d gh Root
Nore gks ftls Record dgrs gSaA lHkh Non None dire gSa vkSj File No ds :i esa Tree
Structure

1
Advantages of Linux & fo’ks"krk,a%& Linux ,d High Level Language ‘C’ esa fy[kh
xbZ gSaA bldh fo’ks"krk,a fuEu gSa%&
(1) ,d Linux – Computer dks nwljs Linux Computer ls tksM+ ldrs gSaA
(Netwroking)
(2) Linux ,d Multi user gSa blesa ,d le; esa dbZ User ,d lkFk dk;Z dj ldrs gSaA (Multi
user)
(3) Linux lHkh Devices dks ,d File ds :i esa ekurk gSaA
(4) Linux dk File Structure Hierarchical gksrk gSaA
(5) Linux esa Text Processing dk dk;Z Hkh dj ldrs gSaA
(6) Linux esa Multi Tasking Facility ¼lqfo/kk½ Hkh miyC/k gSaA (Multi tasking)
(7) bldk Use Network esa Hkh f;dk tkrk gSaA

Advantages:-
(1) Linux cgqr Powerful gSaA
(2) Linux is Free ;g Internet ij Free miyC/k gSaA
(3) Blesa Networking dj ldrs gSaA
(4) Linux vius Source Code ds lkFk Internet ij Free miyC/k gSaA
(5) ;g gj rjg ds Hardware esa dke dj ldrk gSaA
(6) Multi Processing
(7) Password Security
(8) Pipe lining
(9) Multi Therocling
(10) Swap Space (Memory)
(11) Re direction
Shell ,d ¼;qfVyhVh½ Utility Program gSaA tks User vkSj Kernal ds e/; Interface dk
dk;Z djrk gSaA ;k Shell ,d ,slk Utility Program gSa tks User ds lkFk tqM+rk gSaA Shell
,d Command Interpeter gSa tks User dh Hkk"kk esa Transfer dj nsrk gSaA Shell
vyx&vyx lqfo/kk,a iznku djrk gSaA tSls csxjkm.M] Meta Character Facility, Customized
Envirnment.
User User II

Application
System
Operating
Computer
Hardware
System
Program
Program

2
Root directory

dev bin Time User etc HP Linux

.
.
Inclus
Co . e Pass Uni
ns . Sh CSF wor t
ole d

10 Go
0 up

.
.

.
4b . . . bi
. . n

half
Tmake
Spe
Trof .
c .
f

Linux File System


gj Directory ,d fuf’pr Formal esa gksrh gSaA
Linux File System dh fuEu fo’ks"krk,a gSa %&
(1) Hierarchical Structure gksrk gSaA
(2) blesa ,d:irk gksrh gSaA
(3) blesa u;h File cuk ldrs gSaA
(4) File esa MkVk dks c<+k ;k NksVk dj ldrs gSaA
(5) blesa lqj{kk lqjf{kr jgrh gSaA
(6) ;g File Bytes dk leqg gksrh gSaA

INUX FILE SYSTEM:- blesa Directory [kqn ,d File gksrh gSaA tks nwljh Files dks
[kkstus esa dke vkrh gSaA File dk Path Text dk String Form esa gksrk gSaA tks ,d File
ds jkLrs dks crkrk gSa fd og dgk¡ ij iM+h gSa rFkk Linux dk File System Tree From esa
gksrk gSaA Linux dk File System esa CykWd gksrs gSaA blesa pkj Block gksrs gSaA
(1) Boot Block
(2) Super Block
(3) I node Table

3
(4) Data Block
(1) Boot Block:- lcls igyk Block Boot Block gksrk gSa bl Block dks File System ds }kjk
mi;ksx esa ugh fy;k tkrk gSaA bldks Booting Process ds fy, vyx ls NksM+ fn;k tkrk
gSaA blesa ,d Hardware Program Load gksrk gSaA tks ,d File ftldk uke Kernal gSaA
mldks System ds Start gksrs gh Load dj nsrk gSaA Boot Program ftl txg ij yksM gksrk
gSa og mls Boot Strap Loader dgrs gSaA ;gh vkxs tkdj File dks eseksjh esa yksM dj nsrk
gSaA

(2) Super Block:- File System ds nwljs Block dk uke Super Block gSaA bldk eq[; dk;Z
Disk Block dk Allocation djuk gSaA e’khu ds cUn gksus ij lkjh lwpuk fMLd ij fy[k nh
tkrh gSaA D;ksafd tc Hkh dEi;wVj okil 'kq: gksrk gSa rks og File System dh lwpuk dks
fQj ls pSd djrk gSa vxj ;g lwpuk ugha fy[kh xbZ gksrh gSaA ;kfu fd vxj geus File System
esa cnyko ugha fd;s gksrs rks ifj.kke ?kkrd gks ldrs FksA blfy, Super Block Disk dk og
Hkkx gSa ftls le; le; ij cnyk tkrk gSaA ftlesa File System ls lEcfU/kr fuEu Information
gksrh gSaA
(1) File dh Size o Status
(2) Free Data Block dh tkudkjh o mldk Address ,d File de ls de ,d Block Use djrh
gSaA pkgs muesa ,d v{kj Hkh D;ksa u gks ,d Block dh Size vf/kdre 512 byte gks
ldrh gSaA
(3) I node Section ds ckjs esa tkudkjh tks fd Super Block ds ckn vkrk gSaA gj ,d I
node ,d File dks Represent djrk gSa ftlesa mldk uEcj Hkh lkFk esa gksrk gSaA
(4) vk[kjh ckj Super Block dc fy[kk x;k Fkk dh lwpuk blesa gksrh gSaA
(5) File System Type ;kuh dh Logical Block dh Size.

(3) I node Table:- ;g File System dk rhljk Block gSaA blesa File ls lEcfU/kr lHkh
Information gksrh gSaA tks Hkh File cukbZ gSa mldh Entry bl Area esa t:j gksrh gSaA
mls mlds 64 byte ds }kjk Identify fd;k tkrk gSaA ftls I node dgrs gSaA I node dh
Complete List dks I list dgrs gSaA gj I node ,d vyx uEcj ds }kjk Identifier fd;k tkrk gSaA
tks Block esa I node dh fLFkfr crkrk gSaA blesa ,d uEcj gSaA vkSj is-ii ls bls Repress
dgk djrs gSaA gj I node esa File ds fuEu Attribute gksrs gSaA
(1) File Type
(2) Number of Link
(3) Owner ¼ekyhd½
(4) Group
(5) File mode
(6) Number of byte in a File
(7) Data & time last Modification
(8) Data & time last change to the I node
(9) Array of 13 Element.

(4) Data Block:- bl Block esa lHkh File dk Data Store gksrk gSa vkSj File ds Free Block
Hkh blh Block esa gksrk gSaA ;g oks txg gSa tgk¡ ij vkidk okLrfod Data a File Store
gksrh gSaA gj ,d File dks de ls de 2 Block fn;s tkrs gSaA gj Block dk ,d uEcj gksrk gSaA
og I node esa LVksj gksrk gSaA gj ,d File dh I node Entry gksrh gSaA blesa 13 Entries
gksrh gSaA ftldk Use File Blocks ds 'kq:vkrh Address dks LVksj djus ds fy, fd;k tkrk
gSaA ;g ekuk tkrk gSa fd Linux dh ,d File
Dataeas 10 Data Block gks ldrs gSaA
Block

I node Table
4
Super Block

Boot Block
File System ds Blocks
Home dir. And Working dir. Supervisor ds }kjk gj User dks ,d home dir. Nh tkrh gSaA
tSls gh User First Time Login ;g File Tree dk Starting Path gSa tgk¡ ij ls og dgha ij Hkh
vk tk ldrh gSaA home dir. ds vUnj User viuh File cuk ldrk gSaA home dir. Dk uke
T;knkrj User dk gksrk gSaA D;ksafd User dh Sub dir. gksrh gSaA User dh home dir.
System Variable home esa Stored jgrh gSaA
Echo $ Home:- ;g Command Content ns[kus ds dke vkrk gSaA fdlh ,d le; ij User tc
fdlh ,d dir. esa dke dj jgk gksrk gSa rks ml dir dks Working dir. dgrs gSaA
F Seek:- ;g File System dks pSd djrk gSaA
F Disk:- ;g Hard Disk ds Partision djus ds dke vkrk gSaA
Starting up the Linux System:- Linux System dks Start djuk lcls vklku Administrative
dk;Z gSaA tSls gh Power Switch on gksrk gSaA Booting Process Start gks tkrk gSaA tks
Kernal dks yksM djrk vkSj Log in Prompt ij ykdj NksM+ nsrk gSaA
(1) Boot Program Kernal dks RAM esa Load djrk gSaA
(2) Seek dh lgk;rk ls ;g Boot File System dks pSd djrk gSaA
(3) ;fn File System lgh gSa rks Normal Start up Process 'kq: gks tkrk gSaA ojuk gesa
Seek Check Command Click up Section ls tqM+k jguk iM+rk gSaA
(4) Linux Multi user or Normal Mode nksuks esa Available gksrs gSaA
(5) Signal User Mode:-
(i) ;g Root Password ds fy, System dks Promt djrk gSaA
(ii) ;g vkikrdkyhu lsok ds fy, vkjf{kr gksrk gSa
(iii) ;g dbZ rjg ds Major Operation dks Hkh Maintain djrk gSa tSls
Hardware & Software dk Operation djukA
(iv) ;g dsoy Root ds }kjk gh ju gksrk gSaA
(v) ;g crkrk gSa fd flQZ ,d gh Terminal Active gSa ckdh lHkh Terminal
nwljs User ds fy, Fead gksrs gSaA
(vi) ;g I node Multi User Mode esa Hkh ifjofrZr gks tkrk gSaA tc User
Ctrl+D Command ds }kjk Logout djrk gSaA
(vii) ;g Mode Root vkSj vU; nwljs Users dks ,d lkFk handle djrk gSaA
(viii) dqN File ds Content ds vk/kkj ij Root Permission dks Update fd;k tkrk
gSaA
Shutting Down Linux System:- tSls Multi user System esa cUn djus dk lqfu;ksftr rRo
gksuk pkfg,A ;fn User dks fcuk Wasinis fn;s gSa System cUn dj fn;k tk, rks ;s xyr
gksxkA D;ksafd dbZ Background Processor Background esa pyrs gSa ftudk [kRe gksuk
Hkh t:jh gSaA blfy, User dks Message nsus ds ckn System Properly Shut Down fd;k tkrk
gSaA
;fn bldk Use Singal User Mode ij fd;k tk jgk gSaA rks ;g t:jh ugha gSa fd vU; fdlh nwljs
User dk /;ku j[kk tk, D;ksafd blesa ,d oDr ,d gh O;fDr dk;Z dj ldrk gSaA

5
Redirection in Linux:- fdlh Hkh Operator System esa I/O Device ls lEcfU/kr lwpuk
vknku&iznku djus ds fy, 110 Calls dk iz;ksx fd;k tkrk gSaA bl rjg ds System ykHk gSaA
(1) User dh Flexibility dks c<+kok feyrk gSaA
(2) Program dks fy[kuk o Design djuk vklku gks tkrk gSaA
Linux esa User tks Hkh Command nsrk gSaA Shell ds ek/;e ls Kernal rd igq¡p tkrk gSaA
MkVk dks i<+us o fy[kus dk lk/kkj.k rjhdk bldks Standard I/O dgrs gSaA
Pipe Line:- Pipe Line Concept dk iz;ksx%&
(1) fdlh Hkh funsZ’k ds Output dks Linux ds fdlh Filter ds lkFk Link djus ds fy, fd;k tkrk
gSaA
Example:- Cal : more
bl funsZ’k ds }kjk Screen Pause More esa pyh tkrh gSaA Cd dk Output More Command
dk Input gksxk vkSj More dk Output Standards Output dks Hkst fn;k tk;sxkA
Back Ground or For Ground Processing:- tks Hkh Process Internalty Run gksrk gSa
vkSj Operating System ds dke dks djus ds fy, ftudk iz;ksx fd;k tkrk gSaA Background
Processing dgrs gSaA Shell vius :i esa ,d Process gksrk gSaA tks lnSo ju gksrk jgrk gSaA
tc Hkh User dksbZ Command nsrk gSa rks Shell mldks ju djus ds fy, Process Create dj
nsrk gSa tc rd og Command Process ugha gksrk gSa rc rd vU; funsZ’k dks nsus ds fy,
gesa Prompt dk bUrtkj djuk gksrk gSaA ysfdu dbZ ckn Shell Chil Process ds gksus dk
bUrtkj ugha djrk gSa rkfd User ds Prompt fQj ls fey tk, vkSj og ml Command ns ldsaA
blfy, ,d ls T;knk funsZ’k lkFk ju fd;s tk ldrs gSaA bl rjg dh izfØ;k }kjk gh Multitasking
dks izkIr fd;k tkrk gSaA
Linux Command:-
(1) BC Command (Binary Converter):- bl Command dk iz;ksx fdlh Hkh Decimal No.
dks Binary No. esa Change djus ds fy, fd;k tkrk gSaA
(2) Cal Command:- bl Command dk iz;ksx fdlh eghus ;k o"kZ dk Calendar ns[kus ds
fy, fd;k tkrk gSaA
(1) Bash & Cal:- blds orZeku esa py jgsa eghus dk Calendar crk;sxkA
(2) Bas $ & Cal 10 & 1975:- blls 1975 ds October eghus dk Calendar fn[kk;sxkA
(3) Cat Command:- bash $ cat <File Name:- bl Command dk mi;ksx u;h File cukus o
Files ds Contents dks ns[kus ds fy, fd;k tkrk gSa rFkk mlesa Add Hkh dj ldrs gSaA
File cukus ds fy, $ > File Name
File Contant # < File Name
Bash cat >> File Name
blls File esa dqN Add Hkh dj ldrs gSaA
File dks Ctrl+D ls Save djrs gSaA
(3) CD Command
bash $ Cd <directory
bl Command dks mi;ksx fdlh Directory dks Change djus ds fy, fd;k tkrk gSaA
(4) MK Dir (Make Directory)
Syntax:- bash $ MK Dir <directory Name>
bl Command dk Use Directory cukus ds fy, fd;k tkrk gSaA
(5) More Command:- bash $ Cat <File Name> : More
bl Command dk Use fdlh Hkh cM+h File dks Content dks chp eas jksddj ns[kus
ds fy, fd;k tkrk gSaA
(6) RM : Remove File
bash $ rm <File Name>

6
bl Command dk Use fdlh Hkh File dks gVkus ds fy, fd;k tkrk gSaA
(7) rm dir Comman
bash 7 rm dir <Directory Name>
bl Command dk mi;ksx Directory dks Delete djus ds fy, fd;k tkrk gSaA Directory
iw.kZ :i ls [kkyh gksus ij gh ;g mldks Delete djsxkA
(8) Who Command:-
bash $ who
bl Command ds }kjk User dc Log in gqvk gSa vkSj ml Machine dk uke Hkh crkrk
gSaA ftlls Log in gqvk gSaA
(9) PS Command
bash $ PS
bl Command dk iz;ksx Process Status dks ns[kus ds fy, dh tkrh gSaA
(10) Clear Command
bash $ Clear
bl Command dk iz;ksx Screen dks lkQ djus ds fy, fd;k tkrk gSaA
(11) Kill Command
bash $ Kill <Processor ID. No.>
bl Command dk iz;ksx fdlh Process dks chp esa jksdus ds fy, fd;k tkrk gSaA
(12) LS Command (List Command)
bash $ ls
bl Command dk mi;ksx File & Directory dks List ns[kus ds fy, fd;k tkrk gSaA
(13) Pwd Command (Print Working Command):- ;g Command User dh Working Dir. dks
Screen ij Print dj nsrk gSaA
bash $ Pwd
(14) WC Command (Word Count)
Syntax:- bash $ wc file
bl Command dk Use Word Count djus ds fy, fd;k tkrk gSaA
r – line
w – words
C – Character
(15) Banner Commands:- ;g fdlh Hkh Picture ;k Large Size dh Strings dks Print djus ds
fy, dke vkrk gSaA
bash $ banner “String”
Editor:- ;fn ge MkVkcsl ij dke dj jgsa gSa rks gedks SQL Quarry Script, Proccesor, Tigg
fy[kus iM+rs gSaA bu lHkh dk;ksZ ds fy, ftl oLrq dh vko’;drk gksrh gSa og gSa Editor,
Editor esa lcls eq[; gSa Vi editor bldk fuekZ.k William Bill Joy us fd;k gSaA
Linux ds lHkh Editor esa ls Vi Editor egRoiw.kZ gSaA ;g User dks GUI Environment
Facility Provide djrk gSaA ;g ,d full Screen Editor gSa tks lHkh Linux System ds lkFk
miyC/k jgrk gSa rFkk ;g lcls Power Full Editor esa ls ,d gSa blds rhu More gksrs gSa%&
(1) Input More:- blesa dksbZ Hkh Key dks Text ds :i Entered
(2) Command More:- blesa fdlh Key dks Command :i esa Entered
(3) Exmore:- tks Hkh Command Enter gksrs gSa os Last Line ij Display gksrs gSaA
Example of Pointer:-
int n = 10;
int * Ptr;
int ** V;

7
Print (“%/”,n); > 10
Ptr = & n;
Print of (“%d”, * Ptr); - 10
V = & Ptr;
Print (“%d”, * * N); - 10

UNIT-II
Pointer ds Variable gSa tks vkSj Variable dk Address Store djrs gSaA
Syntax:- declaration
<Data Type> <*> <Pointer Variable Name>;
blds eq[; nks fpUg gSa%&
(1) & - Address of Operator
(2) * - Value at Address Operators
Example % U – For Print Address
Int * PTR;
bldks fuEu izdkj ls le> ldrs gSaA
(1) Ptr is Pointer Variable
(2) Ptr is a integer Pointer
(3) Ptr is an Pointer to int
(4) Ptr and Pointer Variable which can Store the Address of any integer Variable
(5) Ptr is an Pointer Variable Which is Pointing to an int Value.

Operators:- fdlh Hkh Programming Language esa iz;ksx fd;s tkus okys Operator ds ladsr
gksrs gSa tks fd dEi;wVj dks xf.krK vFkok rkfdZd lax.kuk,a djus ds fy, funsZ’khr djrs
gSaA ‘C’ Programming Language esa Hkh izek.kd o Operator dk iz;ksx x.kuk djus]
fu.kZ;k ysus ds fy, gh fd;k tkrk gSaA

Operator 8 izdkj ds gksrs gSaA


(1) Arithmetic Operators ¼vadxf.krh; vkWijsVj ½
(2) Relational Operator
(3) Logical Operator
(4) Assignment Operators
(5) Increment and Decrement Operators
(6) Conditional Operators
(7) Bit Wise Operators
(8) Special Operators

(1) Arithmetic Operators ¼vadxf.krh; vkWijsVj½:- ;g Binary Operator gSa bldk


mi;ksx xf.kfrK leL;kvksa dk lek/kku djus ds fy, fd;k tkrk gSa ;s fuEu gSa%&

8
+ tksM+ Addition
- ?kVk Subtraction
* xq.kk Multication
/ Hkkx Division
% Hkkx&vo’ks"k Modulp Division
(2) Relational Operators:- tc nks la[;kvksa esa lekurk o vlekurk izdV djuh gks rks bl
Operator dks mi;ksx djrs gSa blesa fuEu gSaA
Operator Mathematical Symbol ‘C’ Symbol
Equal to = ==
No Equal to = !=
Less than < <
Greater than > >>
Less than Equal to < <<
Greater than Equal > >
(3) Logical Operator:- ,d ls T;knk vuqikfrd Operators dks iz;ksx djus ds fy, gesa Logical
Operator dk iz;ksx djuk gksrk gSaA ‘C’ esa Logical Operator fuEu gSaA
& & and ¼tksM+us okyk½
AA or ¼vyx djus okyk½
! Not ¼udkjus okyk½
& & (and) esa nksuks ckrs lR; gksrh gSa
(or) AA esa ,d ckr lR; gksuh pkfg,A
(Not) ! lgh dks xyr o xyr dks lgh crkkrk gSaA
(4) Assignment Operator:- tc ge fdlh Variable dks eku iznku djrs gSa rks ge
Assignment Operator dk iz;ksx djrs gSaA ‘C’ Programming Language esa ;g Operator
(=) gSa
int a = 10;
This is Assignment Operator
(5) Increment and Decrement Operator:- tc gesa fdlh Variable esa ls ,d ?kVkuk o
tksM+uk gks rks ge Increment Decrement Operator dk mi;ksx djrs gSaA ‘C’ esa ;g ++, --
gksrs gSaA
x++, ++x
x--, --x
(6) Conditional Operator (?):- ‘C’ Programming Language esa Conditional Operator
gSaA ?? ;fn gesa ;g fy[kuk gSaA
if (x!=y)
x = a;
else
x = b;
bls Conditional Operator dh lgk;rk ls bl izdkj fy[k ldrs gSaA
x = (x! = y)? a:6;
(7) Bit Wise Operators:- bl Operator dk iz;ksx Bit dks tk¡pus vkSj Bit dks nka;s vFkok
cka;s gVkkus ds fy, fd;k tkrk gSaA Bit Wise Operator fuEu gSaA
& and
! or
^ Exclusive or
<< Shift Left

9
>> Shift Right
~ One’s Complement
(8) Special Operator:- ;s fuEu gksrs gSaA
()[]
Pointer and Function:- ge Pointer dk iz;ksx Function esa Hkh dj ldrs gSaA tc ge dksbZ
Array Function esa ikl djrs gSa rks ges’kk Array dks izFke Element dk Address gh
Function dks ikl gksrk gSaA
tc fdlh Function esa dksbZ Variable ikl djrs gSa rks ml Function esa ml Variable Hkh ,d
dkWih gh ikl gksrh gSaA tc gesa fdlh Variable dks gh ikl djuk gks rks ge ml Variable dk
Address ikl djds ,slk dj ldrs gSaA bl izdkj Function dks Call djus dks Call by Reference
dgk tkrk gSaA
# include <stdio h>
# include <conio.h>
Memory of Pointer:- tc ge fdlh Array dks ?ksf"kr djrs gSa rks og Array ,d Address ds
ckn ml Address esa Variable ds izdkj ds vk/kkj ij ,d fuf’pr dM+h cukrk gSaA
tSls%& geus int izdkj dk Array O o ?kksf"kr fd;k
Static int a [s] = {10,20,30,40};
tc ge Array ?ksf"kr djrs gSa rks Array ds lcls igys Element ds Address dks Base Address
dgrs gSaA
ekuk fd Array a base Address 3000 gSa
Element a [0] a[1] a[2] a[3]
Value 10 20 30 40
Address 3000 3002 3004 3006
vc ge Array dk base Address fuEu izdkj ls izkIr dj ldrs gSaA
Ptr = & a[0];
or
Ptr = a;
mnkgj.k%&
# include <stdio .h>
# include <conio .h>
Void Main ( )
{
int num [s], total, I, * Ptr;
Ptr = num;
Print f (“in address of num [0] = %4”, Ptr);
For (I = 0; I<s; I++)
{
Ptr = & num [i];
Print (“) n Enter Number :: num [% of] :: %4 =
Scand f (“% f”, num [i]);
Fflush (sttin);
Total = total + * Ptr;
}
Print (“\n Total = % f”, total);
Print (“\n Ptr = %4”, Ptr);
Print (“\n*ptr=%d”, ptr);

10
}
getch ( );
{

Pointer and Structure:- tc ge dksM Hkh Array ?ksf"kr djrs gSa rks mldk ,d Base
Address vo’; gksrk gSa base Address dk iz;ksx ge Structure ds lkFk gh djrs gSaA blh
izdkj tc ge Structure ds izdkj dks Pointer dks Structure izdkj ds Variable dk eku iznku
djrs gSaA rc Pointer mlds lcls igys vFkkZr~ mlds Base Address dks xzg.k djrs gSaA
Power ds }kjk Structure dks iz;ksx djus ds fy, Array Pointer – dks yxkuk vko’;d gksrk
gSaA
Structure ds iz;ksx djus gsrq fo’ks"k funsZ’k ‘C’ Programming Usage esa Structure dk
fo’ks"k egRo gSaA Structure ds iz;ksx ls ge Variable }kjk iz;ksx Bytes dh fLFkfr;ka
lqfpr dj ldrs gSaA ftlls izksxzke dh tfVyrk o yEckbZ de gks tkrh gSaA ‘C’ Program ds
fØ;kUo;u dh xfr vf/kd gks tkrh gSa vkSj ;fn Structure dk mi;ksx ugha fd;k tk, rks blds
ifj.kke ?kkrd gks ldrs gSaA
Structure dk iz;ksx djrs le; fuEu ckrksa dk /;ku j[kuk pkfg,A
(1) Structure Variable dks ?ksf"kr djus ds fy, ge Structure Variable ls igys * ¼LVkj½
dk iz;ksx djrs gSaA
(2) tc rd Structure Variable dks eku iznku ugha fd;k tkrk gSa rFkk og garbyye eku
n’kkZrk gSaA
(3) Structure Memory eas iz;ksx Eye dk Address dgykrk gSaA ;g Ja`[kykc) bytes
gksrs gSaA
(4) Computer Memory Address “O” 'kq: gksrs gSa Memory esa la[;kvksa dh vf/kdre
la[;k dEi;wVj dks izdkj o ij fuHkZj djrh gSa
mnkgj.k%&
# include<stdio .h>
# include<conio .h>
Stuct student
{
char name [20]
int rno;
int marks;
};
void main ( )
{
Struct Student record [2], * ptr;
Clrscr ( );
For (ptr record; Ptr record+2; ptr++)
{
Prtn+f (\n Enter Name);
Gets (ptr name);
Print//(“\n Enter roll no.”);
Scanf (“o/od”, + ptr >rno);)
Ff/sh (stdio); - Memory Clean function
Print f(“\n%s) to
Ptr++;

11
}
}
output
Enter Name mahendra
Enter Roll No. 10
Enter Marks 80
Enter Name Mukesh
Enter Roll No. Mukesh
Enter Marks 70

Name Roll No. Marks


Mahendra 10 80
Mukesh 11 10

Dynamic Memory Allocation:- dHkh dHkh ge viuk izksxzke ju djrs le; ge viuk MkVk
cnyuk pkgrs gSaA mlesa dqN Qsj cny djuk pkgrs gSa rks gesa Data Structure dk iz;ksx dj
Dynamic Memory Management Languages ls tksM+ ldrs gSaA Dynamic Data dks ge
Program Run le; cny ldrs gSaA bl fo/kh ds }kjk ge Memory Space bPNkuqlkj ?kVk o
c<+k ldrs gSaA ;fn gesa izksxzke ju ds le; Memory Sapce cukuk gks rks ge Dynamic
Memory All dk iz;ksx djrs gSaA Dynamic Memory Allocation ds fy, ge Memory
Management Function Use djrs gSaA tks eseksjh esa Space cukus ds fy, dke vkrk gSaA

Local Variable Stock


Free Memory Heap
Global Variable
C Program Parmanent Stock
Area
Instruction
‘C’ Program Storage
tc ge dksbZ Hkh ‘C’ Program Run djrs gSa rks bl izdkj eseksjh esa viuk Space cukrs
gSaA
(1) lcls igys ‘C’ Program ,oa Static a Global Parmanent Storage Area esa viuk Space
cukrs gSaA ml Space dks Permanent Store Area dgk tkrk gSaA
(2) mlds ckn Local Variable esa viuk Space cukuk gSaA ml le; dks Stock dgrs gSaA
(3) bu nksuks ds chp dqN Space Free gksrk gSaA ftls Heap dgk tkrk gSaA
Memory Allocation nks izdkj dh gksrh gSa
(1) Static Memory Allocation
(2) Dynamic Memory Allocation
(3) Static Memory Allocation
tc ge dksbZ Simple Variable feclaration djrs gSa rks og Static Memory Allocation gksrk
gSaA
(2) Dynamic Memory Allocation:- tc ge izksxzke dks ju VkbZe ij Allocation djrs gSa rks
og Dynamic Memory Allocation gksrk gSaA blesa Malloc Function dk mi;ksx fd;k tkrk
gSa rFkk
# include <alloc.h> header file dk mi;ksx fd;k tkrk gSaA

12
tc gesa Memory Space dh vko’;drk gksrh gSa rks ge Malloc Function dk mi;ksx djrs
gSaA bls Function ds }kjk Block Memory esa Space cukrk gSaA rFkk ,d Pointer Number
ykSvkrk gSa tks fdlh Hkh izdkj dk ?ksf"kr fd;k tk ldrk gSa ;k ,slk dg ldrs gSaA tks
Malloc Function Memory Space ds fy, gksrk gSaA
lq=%& Ptr = (type*) malloc (Size byte);
blesa geus Ptr ,d Pointer Variable fd;k ftldk izdkj ?kksf"kr fd;k tkrk gSaA
# include <stdio.h>
# include <conio.h>

Programme
tc ge Memory esa Space cukrs gSa rks dHkh gesa ml Space dh t:jr ugha jgrh gSaA ,slh
fLFkfr esa gekjs ikl ,d ,slk Space miyC/k gSa tks lksj dk;Z ds fy, NksM+ fn;k tkuk
pkfg,A ml le; ge Free Function dk mi;ksx djrs gSaA ;k eseksjh dks Free djus ds fy, Free
Function dk mi;ksx fd;k tkrk gSaA
lq= Free (Pointer);
Pointer Variable gSaA ftlesa malloc ( ) vFkoik Alloc function ds iz;ksx }kjk Block dk
Address vkrk gSaA
Free (ptr);
Realloc Function:- tc gekjs ikl MkVk vf/kd gksrk gSa ,oa ge malloc (g) vFkok Calloc (0)
Function }kjk de Memory Space cuk ysrs gSaA dHkh gekjs ikl MkVk de gskrk gSa vkSj
ge eseksjh esa vf/kd Space cuk ysrs gSa bl leL;k dks nwj djus ds fy, Relloc Function dk
mi;ksx fd;k tkrk gSaA bl Function ds }kjk ge malloc ( ) vFkok Calloc ( ) Function }kjk
cuk;s x;s Block dks Memory Size esa cny ldrs gSa blds fy, gesa ml Block esa base
address dh vko’;drk gksrh gSa vkSj malloc () vFkok Calloc ds Function ds iz;ksx }kjk
Pointer Variable esa LVksj gks tkrk gSaA
Page No. 45 to 47 fn[kkbZ ugha ns jgk gSaA

UNIT – III
Qkby izcU/ku
Qkby izc/kau (File Management):- vHkh rd geus scanf()vkSj print() QaD’ku iz;ksx
fd;s] tks dh&cksMZ rFkk Screen ds chp dk;Z djrs gSaA scanf() }kjk iz;ksx MkVk dks ge
rHkh rd iz;ksx dj ldrs gSa tc rd izksxzke Execute gksrk jgsxkA izksxzke ds lekIr gksus
ij ;g MkVk Lo;e~ lekIr gks tk;sxkA vr% dgk tk ldrk gSa fd bu QaD’kul~ ds iz;ksx ls ge
de MkVk dks iz;ksx dj ldrs gSa vkSj tgka vf/kd MkVk dks iz;ksx djus dh t:jr gksrh gSa
ogka ge Qkby dk iz;ksx djrs gSaA
Qkby fMLd esa ml LFkku&fo’ks"k dk uke gSa tgka ,d fo"k; ls lacaf/kr MkVk
laxzg jgrk gSaA bls ,d uke fn;k tkrk gSa] ftls Qkby dk uke (file name) dgk tkrk gSaA bl
Qkby ds uke ds }kjk ge Qkby dks dHkh i<+k tk ldrk gSa] mlesa MkVk dks tksM+k
vFkok ?kVk;k tk ldrk gSa vkSj ml Qkby dks u"V Hkh fd;k tk ldrk gSaA ^lh^ Qkby ij ;s
lkjh fØ;k;sa I/O fØ;k,a ‘C’ Hkk"kk dh ykbczsjh ls lEcfU/kr gksrh gSaA

13
‘C’ esa Qkby ds lkFk fØ;k,a djus ds fy, eq[; Function fuEu izdkj gSa tks ‘C’ esa
iz;ksx stdio.h gSMj Qkby esa miyC/k gksrs gSa vr% bu Functions dks iz;ksx djus ls igys
stdio.h Qkby dks include fd;k tkrk gSaA
#include<stdio.h>
Qkby izcU/ku esa iz;ksx fd, tkus okys Functions
(1) fopen ()- ;g Function, Qkby dk iz;ksx ,oa fuekZ.k djus ds fy, iz;ksx fd;k tkrk
gSaA ;fn Qkby eSeksjh esa miyC/k gSa rks ;g ml Qkby dks [kksy nsrk gSaA
(2) fclose()- ftl Qkby dks [kksyk x;k gSa ml Qkby dks can djus ds fy,A
(3) putc()-fdlh MkVk Qkby esa v{kj fy[kus ds fy,A
(4) getc()- fdlh Qkby ls v{kj i<+us ds fy,A
(5) fputs() – fdlh MkVk Qkby esa v{kjksa ds lewg gks fy[kus ds fy,A
(6) fgets() – fdlh MkVk Qkby ls v{kjksa ds lewg dks i<+us ds fy,A
(7) getw() – fdlh Qkby esa integer eku i<+us ds fy,A
(8) putw() – fdlh MsVk Qkby esa integer eku fy[kus ds fy,A
(9) fprint() – fdlh Qkby esa MsVk dk ewY; fy[kus ds fy,A
(10) fscanf() – fdlh Qkby esa fdlh MsVk dk ewY; i<+us ds fy,A
(11) fseek() – fdlh MsVk Qkby esa fuf’pr LFkku dks [kkst djus ds fy,A
(12) ftell() – izkjaHk ls ysdj vafre fLFkfr rd iz;ksx esa vkus okyh Byts dh la[;k crkus
ds fy,A
(13) rewind() – Qkby ds izFke v{kj rd igqapus ds fy,A
fdlh Hkh MsVk Qkby dh Qkby dks iz;ksx djus ds fy, ,d Qkby lwpdkad dh
vko’;drk gksrh gSaA ftl izdkj ge int, float vkfn izdkj ds lwpdkad iz;ksx djrs gSa] mlh
izdkj Qkby ds lkFk fØ;k;sa djus ds fy, dh&oYMZ File izdkj dk ld lwpdkad ifjorZukad
vko’;d gksrk gSaA
FILE file_pointer;
Qkby izcU/ku ds Functions dk iz;ksx
Fopen()
bl Function dk iz;ksx ge ,d Qkby dks [kksyus ds fy, djrs gSa%&
FILE *fp;
Fp = fopen (“file_name”, “mode”);
tc ge fdlh Qkby dks [kksyrs gSa rks gesa vfuok;Z :i ls ;g ladsr nsuk iM+rk gSa fd
bl Qkby dks fdl fØ;k ds fy, [kksyuk gSa vFkkZr~ Qkby dks [kksyus dk mn~ns’; D;k gSa\
Qkby dks [kksyus ds lw= esa gesa fuEu rhu phtksa dh vko’;drk gksrh gSaA
(1) file pointer (2) file name (3) mode
vc nwljs LvsVesUV dk v/;;u djus ij vki ik,xsa fd bl Qkby lwpdkad dks bl
Function ds lkFk iz;ksx fd;k x;k gSaA blesa Qkby dk uke ,oa mode vFkkZr~ Qkby dks
[kksyus ds mn~ns’; dk iz;ksx fd;k x;k gSaA
Qkby dks [kksyus ds mn~ns’; rhu izdkj ds gksrs gSa%&
(1) Qkby ds MsVk dks i<+us ds fy,A
(2) Qkby esa MsVk dks tksM+us ds fy,A
(3) Qkby esa MsVk fy[kus ds fy,A
Qkby [kksyus ds lw= esa Qkby dk uke vkSj eksM fLVªax gSaA vr% bUgsa m)j.k
fpUgksa esa j[kk tkuk vfuok;Z gSaA
“eksM” ds }kjk ge mijksDr rhuksa dk;Z fuEu izdkj laikfnr dj ldrs gSa &

14
w – Qkby esa v{kj vFkok v{kjksa ds lewg vFkok fdlh ifjorZukad ds eku dks Qkby esa
fy[kus ds fy,A ;fn Qkby igys ls gSa rks og fy[kus ds fy, [kqy tkrh gSa] fdUrq fufgr
MsVk feV tkrk gSaA ;fn ml uke dh Qkby ugha gSa rks u;h Qkby cu tkrh gSaA
r - ;fn Qkby dks i<+uk gks rks ge Qkby dks jhfMax eksM esa [kksy Qkby esa tks MsVk
lajf{kr gSa mls [kksy i<+ ldrs gSaA
a - ,isfUMax vFkok ,M eksM ds }kjk Qkby dk MkVk lajf{kr gjrk gSa rFkk ge ml Qkby
ds vUr esa vkSj MkVk ,M dj ldrs gSa ,oa ;fn ml uke dh Qkby u gks rks u;h Qkby cuk nh
tkrh gSaA
dqN Compiler Qkby dks i<+us] fy[kus dh lqfo/kk ,d gh ckj Qkby dks [kksyus ds
lkFk iznku djrs gSaA
a++ - bl izdkj dk eksM iz;ksx djds Qkby dks [kksyus ij ge Qkby dks i<+ vFkok Qkby esa
MkVk ,isUM dj ldrs gSaA blds fy, gesa nks ckj Qkby [kksyus dh vko’;drk ugha gksrhA
w+ - bl izdkj dk eksM iz;ksx djds Qkby dks [kksyus ij ge Qkby dks i<+ vFkok Qkby esa
MkVk jkbV dj ldrs gSaA
r+ - bl izdkj dk eksM iz;ksx djds Qkby dks [kksyus ij ge Qkby dks i<+ vFkok Qkby esa
MkVk fy[k ldrs gSaA
mode dk ‘+’ fpUg ds lkFk iz;ksx ‘C’ izksxzkfeax Hkk"kk ds izR;sd dEikbyj esa
miyC/k ugha gksrk] ijUrq mode dk ‘+’ fpUg ds iz;ksx ds fcuk Hkh mi;ksx dj ldrs gSaA
ge ,d lkFk vusd Qkbyksa ds fofHkUu mn~ns’;ksa dh iwfrZ gsrq [kksy ldrs gSaA
tSls&
FILE *fp2, *fp3, *fp4;
fp1 = fopen(“radha”,“r”);
fp2 = fopen(“bank”,“w”);
fp3 = fopen(“cust”,“a”);
fp4 = fopen(“main”,“a+”);
;gka ij geus rhu Qkbyksa radha, bank, cust dks fofHkUu izdkj ds eksM esa [kksykA
izFke Qkby radha dks geus i<+us ds fy, [kksykA f}rh; Qkby bank dks geus fy[kus ds fy,
[kksyk o r`rh; Qkby cust dks geus MkVk ,M djus ds fy, [kksyk o prqFkZ Qkby u;s MsVk
tksM+us ds lkFk&lkFk i<+us o fy[kus nksuksa dk;ksZa ds fy, gSaA
fclose()
tc ,d lkFk vusd Qkbysa fofHkUu iz;kstuksa ds fy, [kksyh tkrh gSa] rks iz;kstu iwjk gksrs
gh mUgsa cUn dj fn;k tkrk gSa vFkok izksxzke ds lekIr gksus ij lHkh Qkbysa Lor% can
gks tkrh gSaA fdUrq Qkby dk iz;kstu iwjk gksrs gh Qkby dks fuEufyf[kr funsZ’k }kjk
cUn dj fn;k tkuk pkfg,&
fclose(fole_pointer);
tSls gesa mijksDr [kqyh lHkh Qkbyksa dks cUn djuk gks rks ge fuEu funsZ’k nsaxs&
fclose(fp1);
fclose(fp2);
fclose(fp3);
fclose(fp4);
putc():- bl Function dk iz;ksx MkVk Qkby esa v{kj dks fy[kus ds fy, fd;k tkrk gSaA
putc(c,fp);
bl funsZ’k dk ikyu djrs gq, dEikbyj Qkby lwpdkad ls v{kj ifjrZukd ‘C’ dks [kqyh gqbZ
Qkby esa jkbV dj nsxkA
putc(‘A’,fp);
bl izdkj geus v{kj ‘A’ dks Qkby esa jkbV dj fn;kA

15
tc ge putc() Function dk iz;ksx djrs gSa rks buds }kjk [kqyh gqbZ Qkby esa v{kj dgka
fy[kk tk,xk] ;g ml Qkby ds eksM ij fuHkZj djrk gSaA ;fn ;g Qkby “w” vFkok “w+” eksM
esa [kqyh gqbZ gSa rks putc() Function v{kj ‘A’ dks Qkby ds izFke v{kj ds :i esa jkbV
djsxk vkSj fQj tc ge vxyk v{kj putc() Function ds }kjk jkbV djsxsa rks ;g bl v{kj ds ckn
jkbV djsxkA ;fn Qkby “a” vFkok “a+” eksM esa [kqyh gSa rks putc() Function, v{kj ‘A’
dks Qkby ds vfUre v{kj ds :i esa jkbV djsxkA bl eksM esa putc() Function }kjk jkbV
fd;k x;k v{kj vfUre v{kj ds :i esa gh jkbV gksxkA
getc():- bl Function dk iz;ksx MkVk Qkby ls v{kj dks i<+us ds fy, fd;k tkrk gSaA
c = getc(fp);
bl funsZ’k dk ikyu djrs gq, dEikbyj Qkby lwpdkad fp ls v{kj i<+dj ifjorZukad ‘C’ dks
iznku djsxkA Qkby lwpdkad Øe’k% ,d&,d v{kj dks ;k rks i<+rk (getc) vFkok fy[krk
(putc) gSaA tc Qkby dh lekfIr EOF ¼,.M vkWQ Qkby½ vkrh gSa rks dEikbyj Lor%
dk;Z djuk can dj nsrk gSa] bl rjg Qkby lekfIr ij EOF dk ladsr nsuk vfuok;Z gSaA MkWl
esa ;g v{kj ctrl+z (^z) o ;wfuDl esa ;g v{kj ctrl+d (^d) gSaA
Example – 1 –
#include <stdio.h>
main( )
{
FILE *fp;
Char c;
Printf(“\nINPUT LINE AND PRESS EOF MARK :\n”);
Fp = fopen(“try”,“w”);
While ((c = getchar()) ! = EOF
Putc(c,fp);
fclose(fp);
printf(“\nDISPLAY”);
fp = fopen(“try”,“r”);
while((c = getch(fp)) !=EOF)
printf(“%c”,c);
fclose(fp);
}
output
INPUT LINE AND PRESS EOF MARK
CELEBRATE 50 YEARS OF INDEPENDENCE
^Z
CELEBRATE 50 YEARS OF INDEPENDENCE
fiNys i`"B ij fn, x, mnkgj.k esa geus Qkby izcU/ku esa iz;ksx fopen(), fclose(), getc(),
putc() Function dk iz;ksx fd;kA loZizFke geus Screen ij Text buiqV djus dk funsZ’k
fizUV dj ,d Try uke dks Qkby “w” eksM esa [kksyksA mlds ckn iz;ksxdÙkkZ }kjk
buiqV fd, izR;sd v{kj dks getchar() Function }kjk ifjorZukad c esa LVksj dj ifjorZukad c
dks putc() Function }kjk Qkby esa jkbV dj fn;kA getchar() function iz;ksxdÙkkZ }kjk rc
rd buiqV ekaxrk jgsxk tc rd iz;ksxdÙkkZ }kjk End of file mark iz;ksx ugha fd;k tkrkA
Dos esa ;g Ctrl ^dh% ds lkFk v{kj ‘Z’ dks nckdj izkIr fd;k tkrk gSa tcfd Unix esa ;g v{kj
Ctrl ^dh^ ds lkFk v{kj ‘d’ nckdj izkIr fd;k tk ldrk gSaA blds ckn [kksyh xbZ Qkby dks
fclose() Function }kjk can dj fn;kA

16
f}rh; pj.k esa geus Qkby dks “r” eksM esa [kksykA ftlls ge ml Qkby esa LVksj MkVk
i<+ ldsaA blds fy, geus getc() Function dk iz;ksx fd;kA loZizFke geus getc() Function }
kjk Qkby esa LVksj v{kj ifjorZukad c dks iznku fd;k] mlds ckn ifjorZukad c dks Screen
ij fizUV dj fn;kA ;g Øe rc rd pyrk jgsxk tc rd fd End of the mark u vk tk,A
Example-2-
#include <stdio.h>
main()
{
FILE *fp;
char c, name[12];
print(“\nENTER FILE NAME:”);
scanf(“%s”,&name);
fflush(stdin(;
fp = fopen(name,“r”);
while((c = getc(fp)) !=EOF)
printf(“%c”,c);
fclose(fp);
}
mijksDr mnkgj.k }kjk ge iz;ksxdÙkkZ ls Qkby dk uke buiqV djkrs gSa ftldks fd jhM
djuk gSaA iz;ksxdÙkkZ }kjk buiqV dh xbZ Qkby dks geus foU;kl name esa LVksj dj
fy;kA vc geus bl foU;kl esa LVksj Qkby dks “r” eksM esa [kksydj getc() Function }kjk
Screen ij fizUV dj fn;kA
fputs():- ;g Function fdlh MkVk Qkby esa v{kjksa ds lewg dks fy[kus ds fy, iz;ksx fd;k
tkrk gSaA
lw=%& fputs¼fLVªax_use] Qkby_dk_uke½;
tSls eku gekjs ikl ,d foU;kl name gSa mlesa fuEu MkVk LVksj gSa &
char name[20];
strcpy(name,“RADHA POCKET”);
;fn gesa foU;kl name dk eku Qkby esa fy[krk gSa ftldk Qkby lwpdkad fp gSa rks ge bldk
iz;ksx fuEu izdkj djsxsa &
fputs(name,fp);
fgets():- fdlh MkVk Qkby ls v{kjksa ds lewg vFkok ykbu dks i<+us ds fy, fgets Function
dk iz;ksx fd;k tkrk gSaA
lw=& fgets¼foU;kl] vf/kdre v{kjks dh la[;k] Qkby lwpdkad½
foU;kl dk rkRi;Z ml foU;kl ls gSa ftl foU;kl esa Qkby ls read fd;k MkVk LVksj gksrk
gSaA vf/kdre v{kjksa dh la[;k ls rkRi;Z gSa fd Qkby ls vf/kdre fdrus v{kj i<+s tkus pkfg,
vkSj mlds ckn ge Qkby lwpdkad dk iz;ksx djrs gSa ftl Qkby ls gesa ;g fLVªax jhM djuh
gSaA
…………
…………
char name[100];
fp = fopen(“file”,“r”);
fgets(name,100,fp);
………….
………….

17
Putw() ,oa getw():-bu nksuksa QaD’kuksa dk iz;ksx integer izdkj ds MkVk ds lanHkZ
esa fd;k tkrk gSaA budk dk;Z ogh gSa tks putc() rFkk getc() QaD’kuksa dk gSaA varj
dsoy ;g Gsa fd getc() ;k putc() v{kj ds fy, iz;qDr gksrs gSa vkSj putw() ;k get2()
iw.kkZadksa ds fy,A
lw= & putw(integer,fp);
Getw(fp);
tSls & (num = getw(fp)) ! = EOF
Printf(“%d”, num);
mnkgj.k &
#include<stdio.h>
main()
{
FILE *fp2, *fp3;
char file [15];
int num, ctr;
printf(“\nINPUT FILE NAME:”);
gets(file);
fflush(stdin);
fp1=fopen(file,“w”);
for(ctr = 0; ctr <25; ctr++);
{
printf(“\nENTER INTEGER:”);
scanf(“%d”, &num);
fflush(stdin);
if(num = = 0)
break;
putw(num,fp1);
}
fclose(fp1);
fp1 = fopen(file,“r”);
fp2 = fopen(“even”,“w”);
while((num = getw(fp1)) ! = EOF)
{
if(num%2 = = 0)
putw(num,fp2);
}
fclose(fp1);
fclose(fp2);
fp1 = fopen(file,“r”);
fp2 = fopen(“even”,“r”)
printf(“\n\ncontents of %s file”,file);
while((num = getw(fp1) !=EOF
printf(“%4d “,num);
printf(“\n\nContents of even file”);
while((num = getw(fp2) !=EOF)
printf(“%4d ”,num);

18
fclose(fp1);
fclose(fp2);
}
output
INPUT FILE NAME RADHA
ENTER INTEGER 1
ENTER INTEGER 2
ENTER INTEGER 3
ENTER INTEGER 4
ENTER INTEGER 5
ENTER INTEGER 6
ENTER INTEGER 7
ENTER INTEGER 8
ENTER INTEGER 9
ENTER INTEGER 0
Contents of RADHA file:- 1 2 3 4 5 6 7 8 9
Contents of even file:- 2 4 6 8

Fprint() ,oa fscanf():- ;s nksuksa Function yxHkx ogh dk;Z djrs gSa tks printf() rFkk
scanf() Function djrs gSaA vUrj ;g gSa fd funsZ’k Qkby ij dk;Z djrs gSaA getc(), getw(),
putc(), putw() ;s Function ,d ,d v{kj vFkok iw.kkZad dks i<+us ;k fy[kus dk dk;Z djrs
gSa fdUrq fprintf() o fscanf() Function Qkby esa fufgr fefJr MsVk dks ,d lkFk i<+us ;k
fy[kus dk dk;Z djrs gSaA ;s funsZ’k Hkh lEiw.kZ fLVªax i<+us ds ckn EOF dk ladsr nsrs
gSaA
Lw= & fprint)fp, “control string”, list);
Fscanf(fp, “control string”,list);
tSls & fprint(fp, “%d %s %f”, rno,name,weight);
fscan(fp, “%s %d”, name, & marks);

mnkgj.k &
#include<stdio.h>
main()
{
FILE *fp;
Int qty, price, amt, ctr, total = 0;
char file [10], item[20];
printf(“\nINPUT FILE NAME:”);
scanf(stdin,“%s %d %d”, item, &qty, &price);
fflush(stdin);
fp = fopen(file,“w”);
printf(“\n\t******INPUT******);
for(ctr=0; ctr <4; ctr++)
{
print(“\nITEM NAME\tQTY.\tPRICE\n”);
fscanf(stdin, “%s %d %d”, item, &qty, &price);
fprintf(fp, “%s %d %d\n”,item,qty,price);

19
}
fclose(fp);
fprintf(stdout,“\n******\t******\t******\n”);
fp = fopen(file,“r”);
printf(“\n\nNAME \tQTY\tPRICE\tAMOUNT\n\n”);
for(ctr = 0; ctr <4; ctr++)
{
fscanf(fp,“%s %d %d, item, &qty, &price);
amt = qty * price;
fprintf(stdout,“\n%s\t%d\t%d\t%d”,item, qty, price, amt);
amt = 0;
}
fclose(fp);
}
fclose(fp);
}
Output
INPUT FILE NAME : RADHA
******INPUT******
ITEM NAME QTY PRICE
A2ZCOM 61 60
A2ZACC 75 60
A2ZQUE 100 60
A2ZDTP 220 100

****** **** *****

NAME QTY PRICE AMOUNT


A2ZCOM 61 60 3660
A2ZACC 75 60 4500
A2ZQUE 100 60 6000
A2ZDTP 220 100 22000

TOTAL 36160
tc gesa ,d ls T;knk izdkj ds MkVk dks ,d gh Function ds }kjk iz;ksx djuk gks rks ge
fscanf() vFkok fprint() Function dk iz;ksx djrs gSaA
mijksDr mnkgj.k esa geus fscanf() ,oa fprintf() Function dk iz;ksx fd;kA bl izksxzke esa
iz;ksdÙkkZ }kjk buiqV fd;k x;k MkVk mlh ds }kjk buiqV dh xbZ Qkby esa Hkh lqjf{kr
gksxkA loZizFke geus iz;ksxdÙkkZ }kjk ml Qkby dk uke buiqV djk;k ftl Qkby esa og
MkVk LVksj djuk pkgrk gSaA iz;ksdÙkkZ }kjk buiqV dh xbZ Qkby dks fopen()
Function }kjk jkbV eksM esa [kksyk x;kA mlds ckn iz;ksxdÙkkZ }kjk item, name, qty
,oa price buiqV djk, x,A bl izdkj geus ns[kk fd item character (char) izdkj dk ,oa ckdh
nksuksa ifjorZukad integer (int) izdkj ds gSaA iz;ksxdÙkkZ }kjk buiqV fd;k x;k MkVk
fscanf() Function dh lgk;rk ls iz;ksxdÙkkZ }kjk buiqV Qkby esa jkbV djk;k x;kA
izksxzke ds f}rh; pj.k esa geus iz;ksxdÙkkZ }kjk buiqV dh xbZ Qkby dks “r” eksM esa
[kksyk ,oa fscanf() Function dh lgk;rk ls Qkby esa LVksj MkVk dks lEcfU/kr

20
ifjorZukadksa esa LVksj dj fprint() ,oa stdout Function dh lgk;rk ls Screen ij iznf’kZr
fd;kA
fseek():- bl Function dk iz;ksx MsVk Qkby esa ,d fuf’pr LFkku dh [kkst djus ds fy, fd;k
tkrk gSaA
fseek(file_pointer, offset, position);
;gka ij fLVªax offset dk rkRi;Z dksbZ Hkh uEcj vFkok long int izdkj dk ifjorZukad gSaA

fseek(fp, OL, 0) Qkby ds izkjaHk esa tkus ds fy,A


fseek(fp, OL, 1) orZeku fLFkfr ij :dus ds fy,A
fseek(fp, OL, 2) Qkby ds vUr esa tkus ds fy,A
fseek(fp, m, 0) m+1 ckbV vkxs c<+us ds fy,A
fseek(fp, m, 1) m ckbV vkxs c<+us ds fy,A
fseek(fp, -m, 1) orZeku fLFkfr ls m ckbV ihNs tkus
ds fy,A
fseek(fp, -m, 2) ckbV Qkby ds izkjaHk esa tkus ds
fy,A
fseek(fp, -m, 0) ckbV Qkby ds izkjaHk esa tkus ds
fy,A
fseek(fp, -m, 1) ;FkkfLFkfr cuk;s j[kus ds fy,A
fseek(fp, -m, 2) Qkby ds var esa tkus ds fy,A

Ftell():- bl funsZ’k }kjk ;g irk py tk;sxk fd vkjaHk ls orZeku fLFkfr rd fdrus ckbV~l dk
mi;ksx gks pqdk gSaA
N = ftell(file_pointer);
;gka ij ifjorZukad n ,d long integer (long int) ifjorZukad gSaA bl Function }kjk ge Qkby
dh orZeku fLFkfr vFkkZr~ Qkby lwpdkad }kjk vHkh rd fdruh ckbV~l iz;ksx dh tk pqdh
gSaA
rewind():- bl funsZ’k }kjk Qkby lwpdkad Qkby ds vkjaHk esa lsV gks tkrk gSaA bldk
ykHk ;g gSa fd ge ,d gh Qkby dks dbZ ckn vkjke ls i<+ ;k fy[k ldrs gSa] mls ckj ckj u rks
[kksyuk iM+sxk] u can djuk iM+sxkA
rewind(file_fpointer);
;fn gekjk Qkby lwpdkad fp gSa rks ge fuEu izdkj funsZ’k nsrs gSa &
rewing(fp);
feof():- bl Function dk iz;ksx Qkby ds vUr dk irk yxkus ds fy, fd;k tkrk gSaA ;fn Qkby
dk iwjk MkVk i<+k tk pqdk gSa rks ;g Function v’kwU; iw.kkZad (Nonzero integer)
ykSvkrk gSa ;fn Qkby dk MkVk vHkh iwjk ugha i<+k x;k rks ;g 'kwU; ykSVkrk gSaA bl
izdkj ge fy[k ldrs gSaA
feof(file_pointer);
if(feof(fp) = =0)
print(“\nNOT EOF”);
vkSj
if(feof(fp))
print(“\nEND OF FILE”);
ferror():- bldk iz;ksx dh jhfMax dks pSd djus ds fy, fd;k tkrk gSaA ;fn lgh izdkj MkVk
i<+k tk jgk gSa rks ;g 'kwU; ykSVkrk gSa vkSj ;fn Qkby lgh izdkj ugha i<+h tk jgha gSa
rks v’kwU; iw.kkZad (Nonzero Integer) ykSVkrk gSaA

21
forror(file_pointer);
tSls &
if(ferror(fp) !=0)
printf(“\nNOT Read”);
dHkh&dHkh ,slh fLFkfr vkrh gSa fd Qkby lgh izdkj ugha [kqy ikrh ge ;g pSd dj ldrs gSa
dh Qkby lgh izdkj [kqyh vFkok ughA ;fn Qkby lwpdkad dk eku 'kwU; (NULL) gksrk
gSa rks bldk vFkZ gSa fd Qkby ogha [kqy ldhA
if(file pointer = = NULL)
printf(“\nFile Could Not Be Opened”);
Command Line Arguments:- tc dHkh Hkh gesa izkWEIV ij dksbZ dek.M nsrs gSa rks
og ,d dek.M ykbu vkjX;qesUV gksrh gSaA blesa lcls igys ml izksxzke dk uke fy[kk tkrk
gSa tks Execute gksrk gSa vFkkZr~ tSls gesa ,d Qkby dk uke cnyuk gks rks fuEu dek.M
dk iz;ksx djsaxsA
Ekuk rename ,d ‘C’ esa fy[kk izksxzke gSa tks Qkby dk uke cnyrk gSaA
Rename first.c main.c
mijksDr ykbu iw.kZ dek.M ykbu vkjX;qesUV dgyk;sxhA
ge tkurs gSa fd izR;sd ^lh^ izksxzke esa ,d main() Functin vo’; gksrk gSaA ;g ,d izdkj ge
main() Function dks Hkh eku iznku dj ldrs gSaA ge main() function dks nks vkjX;qesUV
argc rFkk argv ikl djrs gSaA tks iz;ksxdÙkkZ }kjk dek.M ykbu ij fn;s tkrs gSaA argc ,d
vkjX;qesUV dkmUVj gSa tks n’kkZrk gSa dh iz;ksxdÙkkZ }kjk fdrus vkjX;qesUV
dek.M ykbu esa iz;ksx fd;s x;s gSaA argv ,d char izdkj dk foU;kl gSa ftldk vkdkj argc
ftruk gksrk gSaA blesa iz;ksxdÙkkZ }kjk iz;ksx fd;s x;s vkjX;qesUV LVksj gksrs gSaA
tSls & rename first.c main.c
bl dek.M esa ifjorZukad argc dk eku 3 ,oa argc rhu element dk ,d char izdkj dk foU;kl
gSa blesa fuEu Øe ls eku LVksj gksxsa&
argv[0]-rename
argv[1]-first.c
argv[2]-main.c
mijksDr nksuksa ifjorZukadks argc ,oa argv dks gesa main() Function ds vo’; ?kksf"kr
djuk gksrk gSaA
main(argc, argv)
int argc;
char *argv[];
{
……..
……..
}
blds fy, ;g vko’;d gSa fd argv[0] ges’kk izksxzke dk uke gksA
mnkgj.k& MkWl izkWEIV ij izksxzke dh executable Qkby dk uke fy[kdj ftl Qkby ds
Contents ns[kus gSa mldk uke Vkbi djds enter ^dh^ nckus ls okafNr Qkby ds Contents
vFkkZr~ Qkby esa fLFkr VSDLV Screen ij fizUV gks tk,xkA
ekuk bl izksxzke dh Executable Qkby dk uke Display gSa vkSj bl readme Qkby ds
Contents ns[kuk pkgrs gSa rks vxz izdkj dek.M nsxsaA
#include<stdio.h>
main(argc, argv)
int argc;

22
char *argv[];
{
FILE *fp;
fp = fopen(argv[1], “r”);
if(fp = = NULL)
{
printf(“\nFile does not exits\n”);
exit();
}
while((c = getc(fp)) ! = EOF)
printf(“%c”,c);
fclose(fp);
}
Program <file name>
MijksDr izksxzke ds fy, dek.M ykbu vkjX;qesUV fuEu izdkj gksxkA
Display readme
bl izdkj ifjorZukad argc dk eku 2 ,oa argv[0] dk eku display o argv[1] dk eku readme
gksxkA
mnkgj.k &
#include <stdio.h>
main(argc, argv)
int argc;
char *argv[];
{
FILE *fp, *fp1;
int ans = 0;
char c:
fp = fopen (argv[1], “r”);
if(fp == NULL)
(
print(“\nFile does not exists\n”);
exit();
}
if(fp1 !=NULL)
{
printf(“\nFile already exists\nPress 1 to overwrite:”);
scanf(“%d,&ans);
if(ans ==1)
goto ok;
else
exit();
}
ok;
fclose(fp1);
fp1 = fopen(argv[2], “w”);
while((c = getc(fp) ! = EOF)

23
putc(c,fp1);
fclose(fp);
fclose(fp1);
}
fiNys i`"B ij fn, x, mnkgj.k esa ,d ,slk izksxzke cuk;k x;k ftlls ge ,d Qkby ds v{kj nwljh
Qkby esa jkbV dj ldsaxs vFkkZr~ bl izksxzke dks ge MkWl dh dkWih vFkok ;wfuDl dh
cp dek.M dh Hkkafr iz;ksx dj ldrs gSaA MkWl izkWEIV dj izksxzke dks Executable
Qkby dk uke fy[kdj mlds vkxs ml Qkby dk uke fy[ksaxs ftl Qkby ds Contents ge nwljh
Qkby esa jkbV djuk pkgrs gSa vkSj var esa ge ml Qkby dk ¼ubZ Qkby dk uke½ fyf[kaxs
ftl Qkby esa ge Contents jkbV djuk pkgrs gSaA ftl Qkby esa ge Contents jkbV djuk pkgrs
gSa ;fn og Qkby igys ls fLFkr gSa rks izksxzke iz;ksxdÙkkZ ls vksojjkbV djus dks
iwNrk gSaA ;fn iz;ksxdÙkkZ 1 nckrk gSa rks og Qkby dks vksojkbV dj nsxk vU;Fkk og
izksxzke dk dk;kZUo;u izksxzke ls ckgj vk tk,xkA ekuk izksxzke dks Executable Qkby
dk uke nakal gSa vkSj ge radha Qkby ds Contents arun uke dh Qkby esa jkbV djuk pkgrs
gSa rks ge dek.M ykbu vkjX;qesUV fuEu izdkj nsxsa&
nakal radha arun
vkb, vc ge vxys v/;k; dh vksj pysaA vxys v/;k; esa ge izksxzkfeax Hkk"kk ‘C’ esa
Mk;ukfed Le`fr foHkktu fyaDM fyLV ,oa izkslslj (Dynamic Memory Allocation Linked
List and Preprocessor) ds ckjs esa ppkZ djsaxsA
Mk;usfed Le`fr foHkktu (Dynamic Memory Allocation):- dHkh&dHkh gesa ,slh
vko’;drk gksrh gSa fd ge izksxzke ds dk;kZUo;u ds le; viuk MkVk cnyuk pkgrs gSa
vFkok MkVk esa dqN Qsj&cny djuk pkgrs gSaA tSls gesa fdlh QeZ ds xzkgdksa dh ,d
fyLV esa izksxzke ds dk;kZUo;u ds nkSjku Qsj cny djrs gks rks ge Dynamic Data
Structure dk iz;ksx dj Dynamic Memory Management Techniques ls ,slk dj ldrs gSaA
Dynamic Data dks ge izksxzke ds dk;kZUo;u ds le; cny ldrs gSaA bl fof/k ds }kjk ge
bPNkuqlkj eseksjh Lisl c<+k vFkok ?kVk ldrs gSaA ge vHkh rd MkVk dks LVksj djus
ds fy, foU;kl dk iz;ksx djrs gSaA ysfdu tc ge foU;kl dk iz;ksx djrs gSa rks ge foU;kl dk
vkdkj izksxzke esa igys ls gh ?kksf"kr dj nsrs gSaA ;fn ge mlesa ?kksf"kr vkdkj ls de
MkVk iz;ksx djrs gSa rks eseksjh Lisl dk iwjk iz;ksx ugha gksrkA tcfd foU;kl ds ?kksf"kr
gksus ij eseksjh esa Lisl cu tkrk gSa ;fn gesa izksxzke ds dk;kZUo;u ds le; eseksjh Lisl
cukuk gks rks ge Dynamic Memory Allocation dk iz;ksx djrs gSaA Dynamic Memory
Allocation ds fy, ge Memory Management dk iz;ksx djrs gSa rks eseksjh esa Lisl cukus]
Lisl dks fjDr djus esa dke vkrs gSaA

Malloc ;g Function Memory esa Lisl cukus ds fy, iz;qDr fd;k tkrk gSaA
Calloc ;g Function Hkh eSeksjh esa Lisl cukus ds fy, iz;ksx fd;k tkrk
gSaA
Free ;g Function Memory Lisl dks fjDr djus ds fy, iz;ksx fd;k tkrk gSaA
Realloc ;g Funciton Memory Lisl dk vkdkj cnyus ds fy, iz;ksx fd;k tkrk
gSaA

Local Variable Stack


Free Memory Heap
Grobal Variable
C Program Parmanent Stock
Instruction Area

24
Storage of C Programe

tc ge dksbZ ^lh^ izksxzke ju djrs gSa rks mijksDr izdkj ls eSeksjh esa Lisl curk gSaA lcls
igys ^lh^ izksxzke ,oa Static o Global ifjorZukad Parmanent Storage Area esa viuk Lisl
cukrs gSa vFkok ml Lisl dks Parmanent Storage Area dgk tkrk gSaA blds ckn ^lh^
izksxzke esa iz;ksx yksdy ifjorZukad tgka viuk Lisl cukrs gSa ml Lfkku dks Stack dgk
tkrk gSaA Parmanent Storage Area ,oa Stack ds chp eSeksjh esa dqN Lisl fjDr gksrk
gSaA ftls Heap dgk tkrk gSaA bl Lisl dk vkdkj izksxzke ds dk;kZUo;u ds le; cnyrk jgrk
gSaA D;ksafd bldk vkdkj izksxzke esa iz;ksx yksdy ifjorZukadks ij fuHkZj djrk gSaA
yksdy ifjorZukadks dh e`R;q ij bldk vkdkj vf/kd o ?kksf"kr gksus ij bldk vkdkj de gks
tkrk gSaA blfy, dHkh&dHkh bl izdkj dh fLFkfr vk tkrh gSa fd ge izksxzke ds dk;kZUo;u
ds le; eSeksjh esa Lisl ugha cuk ikrsA
malloc():- tc gesa eSeksjh Lisl dh vko’;drk gksrh gSa rks ge malloc() Function dk iz;ksx
djrs gSaA bl Function ds }kjk ,d Block eSeksjh esa Lisl cukrk gSa rFkk ,d lwpdkad uEcj
ykSVkrk gSa tks fdlh Hkh izdkj dk ?kksf"kr fd;k tk ldrk gSaA
lw=& ptr = (type*)malloc(size byte);
;gka geus ptr ,d lwpdkad ifjorZukad fy;k ftldk izdkj izksxzke esa ?kksf"kr fd;k tkrk gSaA
ptr = (int*)malloc(sizeof(int));
mijksDr LvsVesUV ds dk;kZfUor gksus ij malloc() Function nks CkbV dk eSeksjh Lisl
^lh^ izksxzke }kjk cuk, x, ghi eSeksjh Lfkku ij cuk,xkA mijksDr LvsVesUV esa malloc()
Function esa Integer (int) izdkj dk Lisl cukus ds fy, (int*) dk iz;ksx fd;k x;k gSaA bl izdkj
;g Function Memory esa Integer (int) izdkj ds eku ds fy, Lisl cuk;sxk rFkk ifjorZukad ptr
dks igyh ckbV dk Address iznku djsxkA ;gka ij gesa ptr dks integer (int) izdkj dk ?
kksf"kr djuk gksxkA
char *ch;
ch = (char*)malloc(5);
1 2 3 4 5
ch address
tSls & Struct link list *new;
new = (Struct link list*)malloc(sizeof(struct lin_list));
;gka ij geus ,d lwpdkad ifjorZukad new structure link_list izdkj dk ?kksf"kr fd;kA blds
ckn geus malloc Function dks lgk;rk ls ,d structure link_list ds fy, Lisl eSeksjh esa
cuk;kA malloc Function ifjorZukad new dks structure link_list ds fy, cuk;s x;s Lisl dh
igyh ckbV dk Address iznku djsxkA ;fn eSeksjh esa Lisl ugha curk gSa rks ifjorZukad
new esa NULL fLFkj gks tk;sxkA bl izdkj ge pSd dj ldrs gSa fd eSeksjh esa Lisl cuk
vFkok ughaA
mnkgj.k&
#include <stdio.h>
main()
{
int “ptr,”new, ctr=0
new = (int*)malloc(3*sizeof(int));
new = = NULL)
{

25
printf(“\nNO SPACE”);
exit();
}
printf(“\nInput Three Integers:”0;
for(ptr = new; ptr <new+3;ptr++)
scanf(“%d”,ptr);
printf(“\nVALUE\tADDRESS”);
for(ptr = new; ptr <new+3; ptr++)
printf(“\n%d\t%u”,*ptr,ptr);
iz;ksxdÙkkZ }kjk buiqV fd, x, iw.kkZadksa dks malloc() Function ds }kjk cuk, x, Lisl
esa LVksj fd;kA
loZizFke lwpdkad ifjorZukad new dks geus malloc() Function }kjk cuk, x, Lisl dh izFke
ckbV dk Address iznku fd;kA ;fn malloc() Function ghi eSeksjh esa Lisl cukus esa
vleFkZ jgrk gSa rks gekjs }kjk iz;ksx lwpdkad ifjorZukad esa NULL LVksj gksrk gSaA
blhfy, geus new = = NULL LVsVesUV }kjk tkapk fd] D;k malloc() Function }kjk mfpr
Lisl vu;k x;k vFkok ughaA ;fn Function }kjk Lisl ugha cuk;k x;k rks ^lh^ izksxzke dk
lekiu gks tkrk gSa vkSj ;fn cuk;k x;k gSa rks og iz;ksxdÙkkZ }kjk buiqV dh xbZ la[;k
dks malloc() Function }kjk cukbZ xbZ eSeksjh esa LVksj djrk gSaA
calloc():- bl Function ds }kjk Hkh ge eSeksjh esa Lisl cukrs gSaA bldk iz;ksx eq[;r%
foU;kl vFkok Structure dks LVksj djus ds fy, iz;ksx fd;k tkrk gSaA malloc() ds }kjk
ge ,d Block dk eSeksjh Lisl cuk ldrs FksA ysfdu calloc() Function dh lgk;rk ls ge ,d gh
vkdkj ds dbZ Block eSeksjh esa ,d lkFk gSaA
lw=%& ptr = (type*)calloc(n,elements);
ptr = ¼eSeksjh dk izdkj *½calloc¼la[;k] CykWd dk vkdkj½;
bl LVsVesUV ds iz;ksx }kjk gesa Block izkIr gksxsa] ftrus Block geus la[;k ds LFkku ij
iz;qDr fd;s gSaA izR;sd Block dk vkdkj] CykWd ds vkdkj esa fn;s x;s eku ftruk
gksxkA ;g eSeksjh esa yxkrkj Lisl cukrk gSa vkSj izR;sd ckbV~l dks 'kwU; iznku djrk
gSaA
……….
……….
{
int cust_no;
int cust_na;
int cust_bal;
}; struct list customer, *cust;
cust = (customer *)calloc(10,sizeof(customer));
………..
………..
bl LVsVesUV }kjk geus bu xzkgdksa ds fjdkMZ ds fy, eSeksjh esa Lisl cuk;kA ;fn
ifjorZukad cust dk eku NULL vFkkZr~ 'kwU; ugha gSa rks bldk ;g rkRi;Z gSa fd
eSeksjh esa Lisl cu x;kA ;fn ifjorZukad cust dk eku 'kwU; gksrk gSa rks bldk rkRi;Z ;g
gSa fd eSeksjh esa Lisl ugha cukA
if(cust = =NULL)
printf(“\nNot Memory Space”);
Free():- tc dHkh ge eSeksjh esa Lisl cukrs gSa rks ge ml Lisl esa MkVk LVksj dj ldrs
gSa ysfdu dHkh&dHkh ,slh vko’;drk vkrh gSa fd geus tks Lisl cuk;k vFkok tks gekjs ikl

26
Lisl miyC/k gSa] gesa mldh vko’;drk ugha gksrhA tc ,slh fLFkfr vkrh gSa rks gekjs ikl
tks Lisl miyC/k gksrk gSa mls nwljs dk;Z ds fy, NksM+ nsuk pkfg,A Lisl dks fjDr djus
ds fy, ge free() Function dk iz;ksx djrs gSaA
Lw=& free ¼lwpdkad½;
lwpdkad ifjorZukad gSa ftlesa malloc() vFkok calloc() vFkok Function ds iz;ksx }kjk
CykWd dk Address vkrk gSaA
free(ptr);
realloc():- dHkh gekjs ikl MkVk vf/kd gksrk gSa ,oa ge malloc() vFkok calloc() Function
}kjk de eSeksjh Lisl cuk ysrs gSaA dHkh gekjs ikl de MkVk gksrk gSa vkSj ge eSeksjh
esa vf/kd Lisl cuk ysrs gSaA bu leL;kvksa ds fuokj.k ds fy, ge realloc() Functin dk iz;ksx
djrs gSaA bl Function }kjk ge realloc() vFkok calloc() Function }kjk cuk;s x;s CykWd dk
eSeksjh vkdkj cny ldrs gSaA blds fy, gesa ml CykWd esa Base Address dh vko’;drk
gksrh gSa tks malloc() vFkok calloc() Function ds iz;ksx }kjk lwpdkad ifjorZukad esa
LVksj gks tkrk gSaA
lw=& lwpdkad = realloc ¼lwpdkad] u;k vkdkj½;
ptr = realloc(ptr,new size);
tSls & ptr = (int*)malloc(100*sizeof(int));
ptr = realloc(ptr,50*sizeof(int));
c<+k;s vFkok ?kVk;sA ml LFkku ij Lisl uk miyC/k gksus ij realloc() Function nwljs
LFkku ij u;k CykWd cuk nsrk gSa rFkk iwjkus CykWd ds Contents u;s Block esa LVksj
dj nsrk gSaA realloc() Function Block dk izFke Address lwpdkad dks iznku djrk gSaA

27

You might also like