C Language Tutorial For Beginners (With Notes) - CodeWithHarry
C Language Tutorial For Beginners (With Notes) - CodeWithHarry
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 1/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Chapter 0: Introduction
CodeWithHarry
What is Programming?
Computer programming is a medium for us to communicate with computers, just like we use Hindi
or English to communicate with each other. Programming is a way for us to deliver our instructions
to the computer.
What is C?
C is a programming language. C is one of the oldest and finest programming languages. C was
developed by Dennis Ritchie in 1972.
Uses of C
C is a language that is used to program a wide variety of systems. Some of the uses of C are as
follows:
1. Major parts of Windows, Linux, and other operating systems are written in C.
2. C is used to write driver programs for devices like Tablets, Printers, etc.
3. C language is used to program embedded systems where programs need to run faster in
limited memory.
4. C is used to develop games, an area where latency is very important, i.e., a computer has to
react quickly to user input.
Ads by
Stop seeing this ad Why this ad?
Reliance Digital
Reliance Digital
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 2/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Constants
An entity whose value doesn’t change is called a constant.
Types of constant
Primarily there are 3 types of constant:
1. Integer Constant -1,6,7,9
2. Real Constant -322.1,2.5,7.0
3. Character ‘a’,’$’,’@’(must be enclosed within single inverted
Constant commas)
Keywords
These are reserved words whose meaning is already known to the compiler. There are 32 keywords
available in c:
auto double int struct
#include<stdio.h>
int main() {
return 0;
File : first.c
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 3/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Ad parallels.com More ▼
A compiler is a computer program that converts a c program into machine language so that it can be
easily understood by the computer.
A program is written in plain text. This plain text is a combination of instructions in a particular
sequence. The compiler performs some basic checks and finally converts the program into an
executable.
Library functions
C language has a lot of valuable library functions which is used to carry out a certain task; for
instance, printf function is used to print values on the screen.
printf(“This is %d”,i);
// %d for integers
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 4/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
// %c for characters
#1 for Running
Windows on Mac
Run Windows on Mac.
Download
Optimized for macOS
Types of variables
Integer variables int a=3;
int a=7.7 (wrong as 7.7 is real) ; float
Real variables
a=7.7;
Character variables char a=’B’;
& is the “address of” operator, and it means that the supplied value should be copied to the address
which is indicated by variable i.
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 5/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
#1 for Running
Windows on Mac
Run Windows on Mac.
Download
Optimized for macOS
int a;
float b;
other variations:
int j1 = a + j - i;
float b = a+3; float a = 1.1; ==>Error! As we are trying to use a before defin
int a,b,c,d;
Arithmetic Instructions
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 6/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
#1 for Running
Windows on Mac
Run Windows on Mac.
Download
Optimized for macOS
Note:
1.No operator is assumed to be present
int i=ab ( Invalid )
int i=a*b ( valid )
2.There is no operator to perform exponentiation in c however we can use pow(x,y) from <math.h>
(More later).
Type conversion
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 7/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
NOTE:
int a = 3.5; //In this case, 3.5 (float) will be denoted to a 3 (int) because a cann
Quick Quiz:
Question- int k=3.0/9 value of k? and why?
Solution- 3.0/9=0.333, but since k is an int, it cannot store floats & value 0.33 is demoted to 0.
Operator Precedence in C
3*x-8y is (3x)-(8y) or 3(x-8y)?
In the c language, simple mathematical rules like BODMAS no longer apply.
The answer to the above question is provided by operator precedence & associativity.
Operator precedence
The following table list the operator priority in C
Priority Operators
1st */%
2nd + -
3rd =
#1 for Running
Windows on Mac
Run Windows on Mac.
Download
Optimized for macOS
Operator associativity
When operators of equal priority are present in an expression, the tie is taken care of by
associativity
x * y / z => (x * y) / z
x / y * z => (x / y) * z
Control instructions
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 8/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
1. int a; b=a;
2. int v=3^3;
1. Integer
2. Floating number
3. Character
#1 for Running
Windows on Mac
Run Windows on Mac.
Download
Optimized for macOS
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 9/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
If-else statement
Switch statement
If-else statement
The syntax of an if-else statement in c looks like this:
if ( condition to be checked) {
Statements-if-condition-true ;
else{
statements-if-condition-false ;
Code Example
int a=23;
if (a>18){
Relational Operators in C
Relational operators are used to evaluate conditions (true or false) inside the if statements. Some
examples of relational operators are:
== equals to
greater than or equal
>=
to
> greater than
< less than
<= less than or equal to
!= not equal to
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 10/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Important Note: '=' is used for an assignment, whereas '==' is used for an equality check.
The condition can be any valid expression. In C, a non-zero value is considered to be true.
Logical Operators
&&, ||, and ! are the three logical operators in C. These are read as “and,””or,” and “not.” They are
used to provide logic to our c programs.
Use of logical operators:
As the number of conditions increases, the level of indentation increases. This reduces readability.
Logical operators come to the rescue in such cases.
Else if clause
Instead of using multiple if statements, we can also use else if along with if, thus forming an if-else
if-else ladder.
if {
// statements ;
else if { //statements;
else { //statements;
Using if-else if-else reduces indents. The last “else” is optional. Also, there can be any number of
“else if.”
Last else is executed only if all conditions fail.
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 11/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Reliance Digital
Reliance Digital
Operator Precedence
Priority Operator
st
1 !
nd
2 *,/,%
3rd +,-
th
4 <>,<=,>=
th
5 ==,!=
6th &&
7th ||
th
8 =
Conditional operators
A shorthand “if-else” can be written using conditional or ternary operators.
Switch(integer-expression)
Case c1:
Code;
Case c3:
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 12/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Code;
default:
Code;
The value of integer-expression is matched against c1,c2,c3......if it matched any of these cases,
that case along with all subsequent “case” and “default” statements are executed.
Quick Quiz: Write a program to find the grade of a student given his marks based on below:
90-100 A
80-90 B
70-80 C
60-70 D
<70 F
Important notes
We can use switch case statements even by writing in any order of our choice
Char values are allowed as they can be easily evaluated to an integer
A switch can occur within another, but in practice, this is rarely done
if(a=11)
printf(“I am 11”);
else
2. Write a program to find out whether a student is pass or fail; if it requires a total of 40% and at
least 33% in each subject to pass. Assume 3 subjects and take marks as input from the user.
3. Calculate income tax paid by an employee to the government as per the slabs mentioned
below:
2.5L-5.0L 5%
5.0L-10.0L 20%
Note that there is no tax below 2.5L. Take income amount as an input from the user.
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 13/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
4. Write a program to find whether a year entered by the user is a leap year or not. Take the year
as input from the user.
5. Write a program to determine whether a character entered by the user is lowercase or not.
6. Write a program to find the greatest of four numbers entered by the user.
on Mac
Windows on Mac. macOS Download
Monterey Optimized. Play PC
While(condition is true) {
// Code
An example:
int i=0;
while (i<10){
Note:
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 14/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
If the condition never becomes false, the while loop keeps getting executed. Such a loop is known
as an infinite loop.
Quick Quiz: Write a program to print natural numbers from 10 to 20 when the initial loop counter i is
initialized to 0.
The loop counter need not be int, it can be a float as well.
on Mac
Windows on Mac. macOS Download
Monterey Optimized. Play PC
i++ (i is increased by 1)
i-- (i is decreased by 1)
printf(“—i=%d”,--i);
printf(“i--=%d”,i--);
Do-while loop:
The syntax of do-while loop looks like this:
do {
//code;
//code;
}while(condition)
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 15/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
For Loop
The syntax of for loop looks like this:
//code;
//code;
for(i=0;i<3;i++)
printf(“%d”,i);
printf(“\n”);
Output:
0
1
2
Quick Quiz: Write a program to print first n natural numbers using for loop.
A case of Decrementing for loop
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 16/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
for(i=5; i; i--)
printf(“%d\n”,i);
1. i is initialized to 5
2. The condition “i” (0 or none) is tested
3. The code is executed
4. i is decremented
5. Condition i is checked, and the code is executed if it's not 0.
6. & so on until i is non 0.
Quick Quiz: Write a program to print n natural numbers in reverse order.
printf("%d\n",i);
if (i==5){
break;
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 17/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
int skip=5;
int i=0;
while(i<10){
if(i != skip)
continue;
else
printf(%d”,i);
4. What can be done using one type of loop can also be done using the other two types of loops –
True or False.
5. Write a program to sum the first ten natural numbers using a while loop.
6. Write a program to implement program 5 using for and do-while loop.
7. Write a program to calculate the sum of the numbers occurring in the multiplication table of 8.
(Consider 8x1 to 8x10)
8. Write a program to calculate the factorial of a given number using for loop.
9. Repeat 8 using a while loop.
10. Write a program to check whether a given number is prime or not using loops.
11. Implement 10 using other types of loops.
Reliance Digital
Reliance Digital
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 18/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Use loops
Use a random number generator.
Code:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
srand(time(0));
do{
scanf("%d", &guess);
if(guess>number){
printf("Lower number please!\n");
else if(guess<number){
printf("Higher number please!\n");
else{
nguesses++;
}while(guess!=number);
return 0;
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 19/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Reliance Digital
Reliance Digital
#include<stdio.h>
int main(){
int a;
return(0);
printf(“Hi I am display”);
Function prototype:
Function prototype is a way to tell the compiler about the function we are going to define in the
program.
Here void indicates that the function returns nothing.
Function call:
Function call is a way to tell the compiler to execute the function body at the time the call is made.
Note that the program execution starts from the main function in the sequence the instructions are
written.
Function definition:
This part contains the exact set of instructions that are executed during the function call. When a
function is called from main(), the main function falls asleep and gets temporarily suspended. During
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 20/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
this time, the control goes to the function being called when the function body is done executing
main() resumes.
Reliance Digital
Reliance Digital
Types of Functions:
Library functions: Commonly required functions grouped together in a library file on disk.
User-defined functions: These are the functions declared and defined by the user.
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 21/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
c=a+b;
return c;
Now we can call sum(2,3) [here 2 and 3 are arguments]; from main to get 5 in return.
Reliance Digital
Reliance Digital
Note:
1. Parameters are the values or variable placeholders in the function definition. Ex: a & b
2. Arguments are the actual values passed to the function to make a call. Ex: 2 & 3
3. A function can return only one value at a time.
4. If the passed variable is changed inside the function, the function call doesn’t change the value in
the calling function.
return 0;
change is a function which changes a to 77. No, if we call it from main like this.
int b=22;
Recursion
A function defined in C can call itself. This is called recursion.
A function calling itself is also called a recursive function.
Example of Recursion:
A very good example of recursion is factorial
factorial(n) = 1x 2 x 3...........x n
factorial(n)= 1 x 2 x 3...........n-1 x n
Since we can write factorial of a number in terms of itself, we can program it using recursion.
int f;
if(x==0||x==1)
return 1;
else
f=x * factorial(x-1);
return f;
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 23/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Important Notes:
1. Recursion is sometimes the most direct way to code an algorithm
2. The condition which doesn’t call the function any further in a recursive function is called the base
condition.
3. Sometimes, due to a mistake made by the programmer, a recursive function can keep running
without returning, resulting in a memory error.
***
*****
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 24/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Chapter 6 - Pointers
A pointer is a variable that stores the address of another variable.
j is a pointer
j points to i.
The "address of" (&) operator
The address of operator is used to obtain the address of a given variable
If you refer to the diagrams above
&i=> 87994
&j=>87998
*(&i) = 72
*(&j) = 87994
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 25/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Just like pointer type integer, we also have pointers to char, float, etc.
Although it's a good practice to use meaningful variable names, we should be very careful while
reading & working on programs from fellow programmers.
#include<stdio.h>
int main()
int i=8;
int *j;
j=&i;
printf(“Add i=%u\n”,&i);
printf(“Add i=%u\n”,j);
printf(“Add j=%u\n”,&j);
printf(“Value i=%d\n”,i);
printf(“Value i=%d\n”,*(&i));
printf(“Value i=%d\n”,*j);
return 0;
Output:
Add i=87994
Add i=87994
Add j=87998
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 26/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Value i=8
Value i=8
Value i=8
This program sums it all. If you understand it, you have got the idea of pointers.
Pointers to a pointer:
Just like j is pointing to i or storing the address of i, we can have another variable, k which can store
the address of j. What will be the type of k?
int **k;
k= &j;
We can even go further one level and create a variable l of type int*** to store the address of k. We
mostly use int* and int** sometimes in real-world programs.
Download the
Learn More
Secure Browser
Google
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 27/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
If sum is defined as sum(int a, int b), the values 3 and 4 are copied to a and b. Now even if we
change a and b, nothing happens to the variables x and y.
This is call by value.
In C, we usually make a call by value.
Call by reference:
Here the address of the variable is passed to the function as arguments.
Now since the addresses are passed to the function, the function can now modify the value of a
variable in calling function using * and & operators. Example:
int temp;
temp= *x;
*x = *y;
*y = temp;
This function is capable of swapping the values passed to it. If a=3 and b=4 before a call to
swap(a,b), a=4 and b=3 after calling swap.
int main()
int b=4;
swap(a,b)
1. Write a program to print the address of a variable. Use this address to get the value of this
variable.
2. Write a program having a variable i. Print the address of i. Pass this variable to a function and
print its address. Are these addresses same? Why?
3. Write a program to change the value of a variable to ten times its current value. Write a function
and pass the value by reference.
4. Write a program using a function that calculates the sum and average of two numbers. Use
pointers and print the values of sum and average in main().
5. Write a program to print the value of a variable i by using the "pointer to pointer" type of
variable.
6. Try problem 3 using call by value and verify that it doesn’t change the value of the said
variable.
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 28/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Download the
Learn More
Secure Browser
Google
Chapter 7 - Arrays
An array is a collection of similar elements.
One variable => Capable of storing multiple values
Syntax,
The syntax of declaring an array looks like this:
marks[0]=33;
marks[1]=12;
Note: It is very important to note that the array index starts with 0.
Accessing Elements
Elements of an array can be accessed using:
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 29/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Ad parallels.com More ▼
Quick Quiz: Write a program to accept marks of five students in an array and print them to the
screen.
Initialization of an array
There are many other ways in which an array can be initialized.
float marks[]={33,40}
Arrays in memory
Consider this array:
This will reserve 4x3=12 bytes in memory. 4 bytes for each integer.
1 2 3
int i = 32;
char a = 'A';
float i = 1.7;
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 30/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Ad parallels.com More ▼
Quick Quiz: Try these operations on another variable by creating pointers in a separate program.
Demonstrate all four operations.
Accessing arrays using pointers
Consider this array,
ptr++;
or
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 31/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Multidimensional arrays
An array can be of 2 dimension / 3 dimension / n dimensions.
A 2-dimensional array can be defined as:
{1,4}
{7,9}
{11;22}
};
We can access the elements of this array as arr [0] [0], arr [0] [1] & so on...
At arr [0] [0] value would be 1 and at arr [0] [1] value would be 4.
2-D arrays in Memory
A 2-d array like a 1-d array is stored in contiguous memory blocks like this:
Quick Quiz: Create a 2-d array by taking input from the user. Write a display function to print the
content of this 2-d array on the screen.
3. Write a program to create an array of 10 integers and store a multiplication table of 5 in it.
4. Repeat problem 3 for a general input provided by the user using scanf()
5. Write a program containing a function that reverses the array passed to it.
6. Write a program containing functions that counts the number of positive integers in an array.
7. Create an array of size 3x10 containing multiplication tables of the numbers 2,7 and 9,
respectively.
8. Repeat problem 7 for a custom input given by the user.
9. Create a three-dimensional array and print the address of its elements in increasing order.
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 32/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Chapter 8 - Strings
A string is a 1-d character array terminated by a null(‘\0’) => {this is null character}
The null character is used to denote string termination, characters are stored in contiguous memory
locations.
Initializing Strings
Since string is an array of characters, it can be initialized as follows:
char s[]={‘H’,’A’,’R’,’R’,’Y’,’\0’}
Strings in memory
A string is sorted just like an array in the memory as shown below
Quick Quiz: Create a string using " " and print its content using a loop.
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 33/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Ad parallels.com More ▼
Printing Strings
A string can be printed character by character using printf and %c.
But there is another convenient way to print strings in C.
char st[50];
scanf(“%s”,&st);
scanf automatically adds the null character when the enter key is pressed.
Note:
char st[30];
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 34/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
This tells the compilers to store the string in the memory and the assigned address is stored in a
char pointer.
Note:
1. Once a string is defined using char st[]= ”harry”, it cannot be initialized to something else.
2. A string defined using pointers can be reinitialized. => ptr=”rohan”;
int length=strlen(st);
char target[30];
Target string should have enough capacity to store the source string.
strcat() - This function is used to concatenate two strings
strcmp() - This function is used to compare two strings. It returns: 0 if strings are equal
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 35/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Negetive value if first strings mismatching character's ASCII value is not greater than second string's
corresponding mismatching character. It returns positive values otherwise.
2. Write a program to take a string as an input from the user using %c and %s. Confirm that the
strings are equal.
3. Write your own version of strlen function from <string.h>
4. Write a function slice() to slice a string. It should change the original string such that it is now
the sliced strings. Take m and n as the start and ending position for slice.
5. Write your own version of strcpy function from <string.h>
6. Write a program to encrypt a string by adding 1 to the ASCII value of its characters.
7. Write a program to decrypt the string encrypted using the encrypt function in problem 6.
8. Write a program to count the occurrence of a given character in a string.
9. Write a program to check whether a given character is present in a string or not.
#1 for Running
Windows on Mac
Run Windows on Mac.
Download
Optimized for macOS
Chapter 9 - Structures
Arrays and Strings => Similar data (int, float, char)
Structures can hold => dissimilar data
Syntax for creating Structures
A C Structure can be created as follows:
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 36/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
struct employee{
float salary;
char name[10];
}; • semicolon is important
strcpy(e1.name,”harry”);
e1.code=100;
e1.salary=71.22;
#1 for Running
Windows on Mac
Run Windows on Mac.
Download
Optimized for macOS
Quick Quiz: Write a program to store the details of 3 employees from user-defined data. Use the
structure declared above.
Why use structures?
We can create the data types in the employee structure separately but when the number of
properties in a structure increases, it becomes difficult for us to create data variables without
structures. In a nutshell:
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 37/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
facebook[0].code=100;
facebook[1].code=101;
..........and so on.
Initializing structures
Structures can also be initialized as follows:
Structures in memory
Structures are stored in contiguous memory locations for the structures e1 of type struct employee,
memory layout looks like this:
In an array of structures, these employee instances are stored adjacent to each other.
Pointer to structures
A pointer to the structure can be created as follows:
ptr=&e1;
printf(“%d”,*(ptr).code);
#1 for Running
Windows on Mac
Run Windows on Mac.
Download
Optimized for macOS
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 38/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Arrow operator
Instead of writing *(ptr).code, we can use an arrow operator to access structure properties as
follows
*(ptr).code or ptr->code
Here -> is known as an arrow operator.
Passing Structure to a function
A structure can be passed to a function just like any other data type.
void show(struct employee e); =>Function prototype
Quick Quiz: Complete this show function to display the content of the employee.
Typedef keyword
We can use the typedef keyword to create an alias name for data types in c.
typedef is more commonly used with structures.
struct complex{
float real; // struct complex c1,c2; for defining complex num
float img;
};
float real;
}ComplexNo;
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 39/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
#1 for Running
Windows on Mac
Run Windows on Mac.
Download
Optimized for macOS
File pointer
The “File” is a structure that needs to be created for opening the file. A file pointer is a pointer to this
structure of the file.
File pointer is needed for communication between the file and the program.
A file pointer can be created as follows:
FILE *ptr;
ptr=fopen(“filename.ext”,”mode”);
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 40/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
#1 for Running
Windows on Mac
Run Windows on Mac.
Download
Optimized for macOS
Types of Files
There are two types of files:
FILE *ptr;
ptr=fopen(“Harry.txt”,”r”);
int num;
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 41/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Writing to a file
We can write to a file in a very similar manner as we read the file
FILE *fptr;
fptr=fopen(“Harry.txt”,”w”);
int num=432;
fprintf(fptr,”%d”,num);
fclose(fptr);
while(1){
ch=fgetc(ptr); // When all the content of a file has been read, break the loop
if(ch==EOF){
break;
//code
name1, 3300
name2, 7700
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 42/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
#1 for Running
Windows on Mac
Run Windows on Mac.
Download
Optimized for macOS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
// Cases covered:
// ss
// gg
// ww
if(you == comp){
return 0;
// Non-draw conditions
// Cases covered:
// sg
// gs
// sw
// ws
// gw
// wg
return -1;
}
else if(you=='g' && comp=='s'){
return 1;
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 43/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
return 1;
}
else if(you=='w' && comp=='s'){
return -1;
return -1;
}
else if(you=='w' && comp=='g'){
return 1;
int main(){
srand(time(0));
if(number<33){
comp = 's';
}
else if(number>33 && number<66){
comp='w';
}
else{
comp='g';
printf("Enter 's' for snake, 'w' for water and 'g' for gun\n");
scanf("%c", &you);
if(result ==0){
printf("Game draw!\n");
}
else if(result==1){
printf("You win!\n");
}
else{
printf("You Lose!\n");
}
printf("You chose %c and computer chose %c. ", you, comp);
return 0;
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 44/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
#1 for Running
Windows on Mac
Run Windows on Mac.
Download
Optimized for macOS
1. malloc()
2. calloc()
3. free()
4. realloc()
malloc() function
Malloc stands for memory allocation. It takes number of bytes to be allocated as an input and
returns a pointer of type void.
Syntax:
If the space is not sufficient, memory allocation fails and a NULL pointer is returned.
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 45/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
#1 for Running
Windows on Mac
Run Windows on Mac.
Download
Optimized for macOS
Quick Quiz: Write a program to create an array of size n using calloc() where n is an integer
entered by the user.
free() function
We can use free() function to allocate the memory.
The memory allocated using calloc/malloc is not deallocated automatically.
Syntax:
Quick Quiz: Write a program to demonstrate the usage of free() with malloc().
realloc() function
Sometimes the dynamically allocated memory is insufficient or more than required.
realloc is used to allocate memory of new size using the previous pointer and size.
Syntax:
ptr = realloc(ptr,newSize);
ptr = realloc(ptr, 3* sizeof(int)) //ptr now points to this new block of memory, whi
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 46/47
20/01/2022, 16:40 C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Click here to download the notes For Chapter 2 - Instructions & Operators.
Click here to download Chapter 2 - Practice Set.
Click here to download the notes For Chapter 3 - Conditional Instructions.
Click here to download Chapter 3 - Practice Set.
Click here to download the notes For Chapter 4 - Loop Control Instructions.
Click here to download Chapter 4 - Practice Set.
Click here to download the notes For Project 1 - Guess The Number.
Click here to download the notes For Chapter 5 - Functions & Recursions.
Click here to download Chapter 5 - Practice Set.
Click here to download the notes For Chapter 6 - Pointers.
Click here to download Chapter 6 - Practice Set.
Click here to download the notes For Chapter 7 - Arrays.
Click here to download Chapter 7 - Practice Set.
Click here to download the notes For Chapter 8 - Strings.
Click here to download Chapter 8 - Practice Set.
Click here to download the notes For Chapter 9 - Structures.
Click here to download Chapter 9 - Practice Set.
Click here to download the notes For Chapter 10 - File I/O
Click here to download the notes For Chapter 10 - Practice Set.
Click here to download the notes For Project 2 - Snake, Water, Gun.
Click here to download the notes For Chapter 11 - Dynamic Memory Allocation.
Click here to download the notes For Chapter 11 - Practice Set
Previous Next
CodeWithHarry
Copyright © 2022 CodeWithHarry.com
https://codewithharry.com/videos/c-tutorial-in-hindi-with-notes 47/47