Chapter 2 ऐरे| What is Array in Hindi | Class 12 Computer Science RBSE Board
chapter-2-ऐरे-what-is-array-in-Hindi, Chapter 2 ऐरे class 12 computer science notes in Hindi, Chapter 2 Array Rajasthan Board Class 12 in Hindi Chapter 2 ऐरे, Chapter 1 डाटा स्ट्रक्चर का परिचय, Study Materials Class 12 computer science notes in Hindi, Model Paper Computer Science, What is Array in Hindi, Chapter no 2 cs notes in Hindi, Gyan alert, RBSE board Study Materials in Hindi, Chapter 2 ऐरे Notes in Hindi. RSCIT Online Study.
Chapter 2 ऐरे(Array)
ऐरे किसे कहते हे
- Array एक structured data type होता है।
- ऐरे में सिर्फ data type की values store की जाती है और structures में अलग अलग data types के variables create किये जा सकते है।
- जब भी आप एक array create करते है तो आप array का नाम और आप उसमे कितनी values store करने वाले है ये define करते है।
- जैसे की मान लीजिये आप 5 numbers store करना चाहते है तो उसके लिए आप array create कर सकते है। C में arrays create करने का general structure नीचे दिया गया है।
data_type array-name[size]; |
size से आप define करते है की आप कितनी values store करना चाहते है।
int num[5]; |
उपर दिए गए उदाहरण में array का नाम num है और उसमे आप कोई भी 5 integer values store कर सकते है।
Initializing C Arrays
Array में 5 values कैसे store करेंगे
जब भी आप array create करते है तो जितनी उसकी size होती है उतनी ही locations उस array को memory में allocate हो जाती है। और वो locations उतने ही index numbers के नाम से allocate होती है।
Index numbers हर location का एक unique नाम होता है। जैसे की यँहा ऊपर दिए उदाहरण में 5 index numbers होंगे। आपको एक बात हमेशा याद रखनी चाहिए की array की index हमेशा zero से शुरू होती है।
num[0] num[1] num[2] num[3] num[4] |
Array के नाम और index number से आप create की गयी हर location में value store करवा सकते है और बाद में उससे value access भी कर सकते है।
(Note : Arrays की index हमेशा zero से शुरू होती है। )
जैसे की ऊपर create किये गए array में आप इस प्रकार value insert करवा सकते है।
num[0] = 50; num[1] = 100; num[2] = 150; num[3] = 200; num[4] = 250; |
आप चाहे तो हर location को अलग से value assign करने की बजाय एक साथ भी सभी values को assign कर सकते है। ऐसा आप इस प्रकार कर सकते है।
int num[5] = {50,100,150,200,250}; |
और यदि आप values यूज़र से run time में store करवाना चाहते है तो ऐसा आप इस प्रकार कर सकते है।
for(int i=0; i<=5; i++) { scanf(“%d”,&num[i]); } |
Accessing Array Elements
Array elements को access करके आप उन पर वो सभी operations perform कर सकते है जो आप normal variables के साथ perform कर सकते है। जैसे आप 2 array elements को add करवा सकते है।
जँहा भी array element को access करना चाहते है उस जगह आप array का नाम और index number लिखते है।
num[2] = num[0] + num [1]; |
यँहा array की first और second values को add करके third location पर store करवाया गया है।
यदि आप किसी एक value को print करवाना चाहते है तो ऐसा आप इस प्रकार कर सकते है।
printf(“%d”,num[3]); |
यह statement 4th location की value print करेगा जो की यँहा दिए गए example में 200 है।
यदि आप पुरे array को एक साथ print करना चाहते है तो ऐसा आप loop की मदद से कर सकते है। ये ध्यान रखे की loop उतना ही चले जितनी की values आपके array में है।
for(int i=0; i<=5;i++) { printf(“%d”,num[i]); } |
Example
#include <stdio.h> #include <conio.h> int main() { /* Declaring integer array arr that can store 5 elements */ int arr[5]; int i; /* Taking array elements at run time from user */ printf(“Please enter 5 array elements : n”); for(i=0;i<=4;i++) { scanf(“%d”,arr[i]); } /* Printing all array elements at once */ printf(“Array is:”); for(i=0;i<=4;i++) { printf(“%dt”,arr[i]); } return 0; } |
Please enter 5 array elements : 5 4 3 2 1 Array is : 5 4 3 2 1 |
Two Dimensional Arrays
एक normal array में data list की form में store किया जाता है जिसमें एक के बाद दूसरा element होता है। यदि आप data tabular form में store करना चाहते है तो इसके लिए आप two dimensional array create कर सकते है।
जैसे की आप 4 employees की id और उनका phone number store करना चाहते है। इसके लिए table इस प्रकार बनेगी।
101 | 7599393 |
102 | 9384940 |
103 | 9458940 |
104 | 9129399 |
इस प्रकार की table आप two dimensional array के द्वारा memory में create कर सकते है।
Creating Two Dimensional Array
Two dimensional array को row और column के संदर्भ में define किया जाता है। सबसे पहले आप array का type define करते है। इसके बाद आप array का एक unique नाम define करते है।
data-type array_name[row][column]; |
इसके बाद आप जितनी row create करना चाहते है उतनी संख्या angular bracket में define करेंगे। इसके बाद आप जितने columns create करना चाहते है उतनी संख्या दूसरे angular bracket में define करेंगे।
जैसे की ऊपर दी गयी table आप two dimensional array के माध्यम से memory में इस प्रकार create करेंगे।
int myArray[4][2]; |
यह statement memory में एक table (two dimensional array) create करेगा जिसकी 4 rows और 2 columns होंगे।
Initializing Two Dimensional Array
Two dimensional array को आप किसी variable की तरह initialize कर सकते है। जब आप इस प्रकार initialize करते है तो हर position के लिए separately value assign करते है। उदाहरण के लिए आप पहली row के पहले column में value store करना चाहते है तो ऐसा आप इस प्रकार करेंगे।
myArray[1][1]=101; |
इसी प्रकार second column में phone number आप इस प्रकार store कर सकते है।
myArray[1][2]=7599393; |
यदि आप user से इस array में value input करवाना चाहते है तो इसके लिए आप 2 loops use करेंगे। पहला loop rows को iterate करेगा और इसे row की संख्या तक ही चलाया जायेगा। दूसरा loop columns को iterate करेगा और इसे भी columns की संख्या तक ही चलाया जायेगा।
for(int i=0;i<4;i++) { for(int j=o;j<2;j++) { scanf(“%d”,myArray[i][j]); } } |
Accessing Two Dimensional Array
Two dimensional array में से यदि आप किसी single element को access करना चाहते है तो ऐसा आप उसकी position index को access करके कर सकते है। उदाहरण के लिए यदि आप 2nd row के 1st column की value print करना चाहते है तो इसके लिए आप इस प्रकार statement लिखेंगे।
printf(“Element at 2nd row 1st column is :%d”,myArray[2][1]); |
यदि आप array के सभी elements को एक बार में print करना चाहते है तो इसके लिए आप 2 loops use करते है।
Traversing
Traversing operation में data के हर record को सिर्फ एक बार access किया जाता है ताकि उसे process किया जा सके। Traversing operation loops के द्वारा perform किया जाता है। उदाहरण के लिए एक array के elements को आप loop के द्वारा traverse करते है और उन्हें print करवाते है।
#include<stdio.h>
#include<conio.h>
main()
{
int i, num[5];
clrscr();
//Traversing the ARRAY For Input 5 Array Elements
for(i=0; i<5; i ++)
{
printf(“\n Enter %d Element Of Array : “, i);
scanf(“%d”, &num[i]);
}
//Traversing the ARRAY For Displaying Entered Elements
for(i=0; i<5; i ++)
{
printf(“\n Element Of Array:= %d”, num[i]);
}
getch();
}
Insertion
Insertion operation में किसी data structure में data insert किया जाता है। अलग अलग data structures में insertion operation को अलग अलग नामों से जाना जाता है।
#include <stdio.h>
#include<conio.h>
main( )
{
int LA[] = {1,3,5,7,8};
int item = 10, k = 3, n = 5;
int i = 0, j = n;
printf(“The original array elements are :\n”);
for(i = 0; i<n; i++)
{
printf(“LA[%d] = %d \n”, i, LA[i]);
}
n = n + 1;
while( j >= k)
{
LA[j+1] = LA[j];
j = j – 1;
}
LA[k] = item;
printf(“The array elements after insertion :\n”);
for(i = 0; i<n; i++)
{
printf(“LA[%d] = %d \n”, i, LA[i]);
}
}
Deletion
किसी data structure में से data remove करना deletion कहलाता है। अलग अलग data structures में deletion operation को अलग अलग नामों से जाना जाता है।
#include<stdio.h>
#include<conio.h>
void main( )
{
int LA[] = {1,3,5,7,8};
int k = 3, n = 5;
int i, j;
printf(“The original array elements are :\n”);
for(i = 0; i<n; i++)
{
printf(“LA[%d] = %d \n”, i, LA[i]);
}
j = k;
while( j < n)
{
LA[j-1] = LA[j];
j = j + 1;
}
n = n -1;
printf(“The array elements after deletion :\n”);
for(i = 0; i<n; i++)
{
printf(“LA[%d] = %d \n”, i, LA[i]);
}
}
Searching
जब किसी data structure में कोई data search किया जाता है तो वह operation searching कहलाता है। यह एक बहुत ही महत्वपूर्ण operation होता है जो frequently perform किया जाता है।
Searching operations perform करने के अलग अलग कई techniques प्रयोग की जाती है जिन्हें searching techniques कहा जाता है। उदाहरण के लिए linear search और binary search searching techniques है।
#include<stdio.h>
#include<conio.h>
void main()
{
int LA[] = {1,3,5,7,8};
int item = 5, n = 5;
int i = 0, j = 0;
printf(“The original array elements are :\n”);
for(i = 0; i<n; i++)
{
printf(“LA[%d] = %d \n”, i, LA[i]);
}
while( j < n)
{
if( LA[j] == item )
{
break;
}
j = j + 1;
}
printf(“Found element %d at position %d\n”, item, j+1);
}
Searching
Searching (सर्चिंग):- सर्चिंग का अर्थ है “ढूंढना” या “खोजना” .
डेटा स्ट्रक्चर में ‘searching’ वह प्रक्रिया है जिसमें किसी element को लिस्ट में खोजा जाता है जो कि एक या एक से अधिक condition को संतुष्ट करता हो.
डेटा स्ट्रक्चर में searching के लिए हम दो तकनीकों का प्रयोग करते हैं जो कि निम्नलिखित हैं:-
1:– linear search (लीनियर सर्च)
2:- binary search (बाइनरी सर्च)
1. Linear search:-
इसको sequential search भी कहते है.
इस searching तकनीक में दिए गये डेटा element को तब तक एक एक करके लिस्ट के प्रत्येक element के साथ compare किया जाता है जब तक कि element मिल नहीं जाता|
इसमें सबसे पहले दिए गये element को लिस्ट के प्रथम element के साथ compare किया जाता है यदि दोनों element एक समान है तो वह index value रिटर्न करता है नहीं तो -1 रिटर्न करता है.
फिर इसके बाद दिए गये element को लिस्ट के दुसरे element के साथ compare किया जाता है. यदि दोनों element समान है तो वह index value रिटर्न करता है नहीं तो -1 रिटर्न करता है.
इसी प्रकार पूरी लिस्ट को compare किया जाता है जब तक कि element मिल नहीं जाता है. अगर पूरी लिस्ट compare करने के बाद भी element नहीं मिलता है तो सर्च unsuccessful हो जाएगा.
यह सबसे सरल searching तकनीक है परन्तु इसमें समय बहुत लगता है. क्योंकि linear search की औसत case complexity O(n) है.
उदाहरण के द्वारा हम इसे आसानी से समझ सकते है.
माना कि हमारे पास निम्नलिखित array लिस्ट है.
21 | 70 | 15 | 30 | 56 | 78 | 80 |
और हमें इसमें 30 को खोजना है.
step1:- दिए गये element (30) को लिस्ट के प्रथम element (21) के साथ compare (तुलना) किया जाता है.
21 | 70 | 15 | 30 | 56 | 78 | 80 |
दोनों एकसमान नहीं है तो हम दुसरे element में जायेंगे.
step2:- 30 की लिस्ट के दुसरे element (70) के साथ तुलना करेंगे
21 | 70 | 15 | 30 | 56 | 78 | 80 |
दोनों एकसमान नहीं है तो हम अगले element में जायेंगे.
step3:- 30 की तुलना 15 के साथ करेंगे.
21 | 70 | 15 | 30 | 56 | 78 | 80 |
दोनों एक समान नहीं है तो हम अगले element में जायेंगे.
step4:- अब हम दिए गये element (30) की तुलना अगले element 30 के साथ करेंगे.
21 | 70 | 15 | 30 | 56 | 78 | 80 |
दोनों एक समान है तो हम तुलना करना बंद कर देंगे और index 3 रिटर्न करेंगे.
2. Binary search:-
जब कोई बड़ा डाटा स्ट्रक्चर होता है तो linear search में बहुत अधिक समय लग जाता है. इसलिए linear search की कमी को दूर करने के लिए binary search को विकसित किया गया.
binary search बहुत ही तेज searching अल्गोरिथम है जिसकी time complexity O(log n) है. यह divide & conquer सिद्धांत पर आधारित है.
binary search केवल उसी लिस्ट में की जा सकती है जो कि sorted (क्रमानुसार) हों. इसका प्रयोग ऐसी लिस्ट में नहीं कर सकते जो कि sorted order में नहीं है.
इस सर्चिंग तकनीक में दिए गये element की लिस्ट के middle element के साथ तुलना की जाती है. यदि दोनों एकसमान है तो वह index value रिटर्न करता है.
यदि एक समान नहीं है तो हम check करते है कि दिया गया element जो है वह middle element से बड़ा है या छोटा. यदि वह छोटा है तो हम लिस्ट के छोटे भाग में यही प्रक्रिया दोहराएंगे. और यदि वह बड़ा है तो हम लिस्ट के बड़े भाग में यही प्रक्रिया दोहराएंगे. और यह तब तक करेंगे जब तक कि element मिल नहीं जाता.
उदाहरण:- इसको हम भलीभांति उदाहरण के द्वारा समझ सकते है.
माना हमारे पास निम्नलिखित array लिस्ट है.
3 | 5 | 11 | 17 | 25 | 30 | 32 |
हमें दिया गया element 5 है जिसे हमने लिस्ट में ढूंढना है.
step1:– सबसे पहले हम दिए गये element 5 की तुलना middle element 17 से करते है.
3 | 5 | 11 | 17 | 25 | 30 | 32 |
दोनों एकसमान नहीं है और 5 जो है वह 17 से छोटा है.
तो हम लिस्ट के बाएं वाले भाग (छोटे वाले भाग) में ही search करेंगे.
3 | 5 | 11 |
step2:– दिए गये element 5 को middle element 5 के साथ compare करेंगे.
3 | 5 | 11 |
दोनों एकसमान है तो हम तुलना करना बंद कर देंगे. और index 1 रिटर्न करेंगे.
Binary Search Program
#include<stdio.h>
int main()
{
int c, first =0, last, middle, n, search, array[100];
printf(“Enter number of elements\n”);
scanf(“%d”,&n);
printf(“Enter %d integers\n”, n);
for (c = 0; c < n; c++)
scanf(“%d”,&array[c]);
printf(“Enter value to find\n”);
scanf(“%d”, &search);
last = n – 1;
middle = (first+last)/2;
while (first <= last)
{
if (array[middle] < search)
first = middle + 1;
else if (array[middle] == search)
{
printf(“%d found at location %d.\n”, search, middle+1);
break;
}
else
last = middle – 1;
middle = (first + last)/2;
}
if (first > last)
printf(“Not found! %d isn’t present in the list.\n”, search);
return 0;
}
}
/* Linear Search Program*/
#include<stdio.h>
main()
{
int array[100], search, c, number;
printf(“Enter the number of elements in array\n”);
scanf(“%d”,&number);
printf(“Enter %d numbers\n”, number);
for ( c = 0 ; c < number ; c++ )
scanf(“%d”,&array[c]);
printf(“Enter the number to search\n”);
scanf(“%d”,&search);
for ( c = 0 ; c < number ; c++ )
{
if ( array[c] == search ) /* if required element found */
{
printf(“%d is present at location %d.\n”, search, c+1);
break;
}
}
if ( c == number )
printf(“%d is not present in array.\n”, search);
return 0;
C करैक्टर स्ट्रिंग
- Strings characters का समूह होता है |
- Strings ये One-dimensional array होता है, जिसमे सिर्फ characters होते है |
- String का आखिरी character ‘NULL'(\0) होता है |
- अगर पूरा string लिखना हो तो उसे double quotes ( ” ” ) में लिखा जाता है | अगर एक-एक character को लिखना हो तो उसे single quotes ( ‘ ‘ ) में लिखा जाता है |
- String का data type character (char) होता है |
Example for Single Character String
char str1[6] = {‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’};
Example for Multiple Character String
char str2[6] = “Hello”;
Example for Multiple Character String without using Array_size
char str3[] = “Hello”;
Source Code :
#include <stdio.h>
int main(){
char str1[6] = {‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’};
char str2[6] = “Hello”;
char str3[] = “Hello”;
printf(“Value of str1 : %s\n”, str1);
printf(“Value of str2 : %s\n”, str2);
printf(“Value of str3 : %s”, str3);
return 0;
}
Output :
Value of str1 : Hello
Value of str2 : Hello
Value of str3 : Hello
String Representation
Note : String में एक से अधिक character होते है इसीलिए ‘%s’ इस fomat specifier का इस्तेमाल करते है | अगर single character को print करना हो तो ‘%c’ इस format specifier का इस्तेमाल किया जाता है |
Index of array | str[0] | str[1] | str[2] | str[3] | str[4] | str[5] |
Array Elements | H | e | l | l | o | \0 |
Memory Address | 6356728 | 6356732 | 6356736 | 6356740 | 6356744 | 6356748 |
String Working with size (sizeof)
Program में हर एक String के initialization में अलग-अलग size है | दिए हुए array के size की memory allocate की जाती है | अगर Array का size नहीं दिया जाता तो जितनी size string की है उतनी size array allocate करता है |
Source Code :
#include <stdio.h>
int main(){
char str1[20] = {‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’};
char str2[10] = “Hello”; //using array_size
char str3[] = “Hello”; //without using array_size
printf(“Size of of str1 : %d\n”, sizeof(str1));
printf(“Size of str2 : %d\n”, sizeof(str2));
printf(“Size of str3 : %d”, sizeof(str3));
return 0;
}
Output:
Size of of str1 : 20
Size of str2 : 10
Size of str3 : 0
String Library Functions
इन Functions को Program में इस्तेमाल करना हो तो string.h या strings.h इन header file को include करना पड़ता है |
String Function | Description |
strcat | एक String से दूसरे String को जोड़ा जाता है | |
strchr | दिए हुए string से एक character का पहला occurrence के आगे का string pointer को return करता है | |
strcmp | दो String को Compare किया जाता है | ये case-sensitive है | |
strcpy | एक string को दूसरे string में copy करता है | |
strlen | String की Length निकाली जाती है | |
strstr | दिए हुए String का पहला string occurrence के आगे का string pointer को return करता है | |
strcat() – String Function
Source Code :
#include <stdio.h>
#include <string.h>
int main ()
{
char str1[20] = “Welcome”;
char str2[20] = ” Friend”;
strcat(str1, str2);
printf(“Concatenation String : %s”, str1);
return 0;
}
Output :
Concatenation String : Welcome Friend
strchr() – String Function
दिए हुए string से एक character का पहला occurrence के आगे का string pointer को return करता है |
Syntax for strchr()
strchr(string, int character);
string – ये एक normal string है |
int character – ये दिए हुए string में से दिए हुए character का पहला occurrence के आगे का string pointer को return करता है |
अगर दिया हुआ character string को नहीं मिलता तो वो NULL character return करता है |
Source Code :
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] = “Hello Friends”;
char *ptr;
ptr = strchr(str, ‘F’);
printf(“%s”, ptr);
return(0);
}
Output :
Friends
strcmp() – String Function
दो String को Compare किया जाता है | ये case-sensetive है |
Syntax for strcmp()
strcmp(string1, string2);
string1 -ये वो String है जिसके साथ String2 को Compare किया जाता है |
string2 – ये वो String है जिसके साथ String1 को Compare किया जाता है |
अगर दोनों string एक जैसे होते है तो ये ‘0’ return करता है |अगर दोनों string अलग-अलग होते है तो ‘1’ या ‘-1’ return करता है |
Note : ये strcmp() function case-sensitive है | इसमें ‘h’ और ‘H’ ये दोनों अलग-अलग है |
Source Code :
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = “Hello” ;
char sr2[] = “World” ;
int a = strcmp(str1, str2) ;
printf (“%d\n”, a) ;
int b = strcmp(str1, “Hello”) ;
printf (“%d\n”, b) ;
int c = strcmp(str1, “hello”) ; // strcmp is case-sensitive
printf (“%d\n”, c) ;
return 0;
}
Output :
-1
0
-1
strcpy() – String Function
दो String को Compare किया जाता है | ये case-sensetive नहीं है |
Syntax for strcpy()
strcpy(destination_string, source_string);
destination_string – ये वो parameter है जिसपर source के string की value copy की जाती है | अगर destination string पर कोई value भी हो तो वो overwrite हो जाती है |
source_string – ये वो parameter है जिसकी value destination पर copy की जाती है |
Source Code :
#include <stdio.h>
#include <string.h>
int main()
{
char str1[20] = “Welcome”;
char str2[20] = “Friend”;
printf(“Value of str2 = %s\n”, str2 );
strcpy(str2, str1);
printf(“Copy str1 to str2 = %s”, str2 );
return 0;
}
Output :
Value of str2 = Friend
Copy str1 to str2 = Welcome
strlen() – String Function
String की Length निकाली जाती है |
Syntax for strlen()
strlen(string);
string – ये एक normal string है, जिसकी length निकली जाती है |
strlen से निकला हुआ output integer value ही होती है ,ये किसी दूसरे integer variable में भी store करके रख सकते है |
Source Code :
#include <stdio.h>
#include <string.h>
int main(){
char str[30] = “Hello World”;
int length ;
printf(“String : %s\n”, str);
length = strlen(str);
printf(“Length of str is %d”, length);
return 0;
}
Output :
String : Hello World
Length of str is 11
strstr() – String Function
दिए हुए String का आखिरी string occurrence के आगे का string pointer को return करता है |
Syntax for strstr()
strstr(string1, string2);
string – ये एक normal string है |
int character – string1 में से ये string find करके उसका पहला occurrence pointer को return करता है
Source Code :
#include <stdio.h>
#include <string.h>
int main(){
char str[100] = “Hi How are you? Hi I am Fine”;
char *ptr;
ptr = strstr(str, “Hi”);
printf(“%s”, ptr);
return 0;
}
Output :
Hi How are you? Hi I am Fine
malloc()
इस function का प्रयोग memory allocate करने के लिए किया जाता है। इस function में argument के रूप में size pass की जाती है। यह function specify की गयी size जितनी memory allocate करता है और उस memory space के starting address को किसी pointer variable में store करता है।
malloc() function सिर्फ एक Memory block allocate करता है |
pntr-variable = (cast-data-type*) malloc(size);
ऊपर दिए गए syntax में cast data type pointer variable का data type होता है। इसे malloc द्वारा allocate किये गए memory space को data type pointer में cast करने के लिए प्रयोग किया जाता है।
calloc()
C language में calloc() function का प्रयोग memory के multiple blocks (या groups) allocate करने के लिए किया जाता है। यह function सभी blocks को zero से initialize करता है और उनका pointer return करता है।
calloc() ये function एक Dynamic Memory Allocation का प्रकार है
C language में calloc() function का general syntax निचे दिया जा रहा है।
pntr-variable = (cast-data-type*) calloc(number-of-blocks, size);
जैसा की आप ऊपर दिए गए syntax में देख सकते है calloc() function में दो arguments pass किये जाते है पहला argument से आप ये specify करते है की आप memory में कितने blocks create करना चाहते है और दूसरे argument से आप यह specify करते है की हर block की size कितनी होगी।
मुख्यतः calloc() function का प्रयोग array और structure को memory allocate करने के लिए किया जाता है।
free()
Memory के बेहतर उपयोग के लिए आप ऐसी memory को release भी कर सकते है जिसकी आगे कोई आवश्यकता होती है। Allocate की गयी memory को relase करने के लिए C में free() function provide किया गया है।
C language में free() function का general syntax निचे दिया जा रहा है।
free(pntr-variable)
जैसा की आप ऊपर दिए गए syntax में देख सकते है इस function में argument के रूप में वह pointer variable pass किया जाता है जिसमें malloc() या calloc() function द्वारा memory pointer return किया गया था।
realloc()
कई बार आपको allocate की गयी memory की size को change करने की आवश्यकता पड़ सकती है। ऐसा दो कारणों से हो सकता है एक तो जब allocate की गयी memory required size से कम है या फिर allocate की गयी memory required size से अधिक है।
कारण कोई भी हो allocate की गयी memory की size को change करने के लिए realloc() function use किया जाता है। C language में realloc() function का general syntax निचे दिया जा रहे है।
ptr = realloc(pntr-variable, new-size);
जैसा की आप ऊपर दिए गए syntax में देख सकते है realloc() function में दो arguments pass किये जाते है। पहला argument वह pointer variable होता है जो allocate की गयी memory का pointer hold करता है। दूसरा argument नयी changed size होती है।
recursion
C language में recursion एक ऐसी process होती है जिसमें एक function खुद को ही call करता है। ऐसा किसी problem को small parts में divide करके solve करने के लिए किया जाता है। ऐसे functions जो स्वयं को call करते है उन्हें recursive functions कहा जाता है।
void recursive_function()
{
//some code;
recursive_function()();
//some code;
}
int main(){
//some code;
recursive_function()();
//some code;
}
Wap of Fibonacci Series in C Language
#include <stdio.h>
int main()
{
int t1 = 0, t2 = 1, nextTerm = 0, n;
printf(“Enter a positive number: “);
scanf(“%d”, &n);
// displays the first two terms which is always 0 and 1
printf(“Fibonacci Series: %d, %d, “, t1, t2);
nextTerm = t1 + t2;
while(nextTerm <= n)
{
printf(“%d, “,nextTerm);
t1 = t2;
t2 = nextTerm;
nextTerm = t1 + t2;
}
return 0;
}
Other Chapter