Function in c : বড় প্রোগ্রামকে আমরা খন্ড খন্ড করে প্রোগ্রামের যেকোন স্থান থেকে ডাক দিয়ে ঐ অংশটুকু কাজ করাতে পারি।
ফাংশন ব্যবহারের সুবিধা
- একই কোড বার বার লিখতে হয় না
- যত ইচ্ছা ডাক/কল করা যায়
- হেন্ডেল করতে সহজ হবে
- রিড এবিলিটি বাড়ে
- সি তে উপর থেকে কল করা হয়
ফাংশন দুই প্রকার
- Library Functions: সি ডিফল্ট ভাবে বানিয়ে রাখছে যে ফাংশন গুলি । যেমন, strlen() strcpy() strcat() strcmp() strrev() ইত্যাদি।
- User-defined functions: আমাদের প্রয়োজনে যে গুলি আমরা বানাব সেই গুলি।
ফাংশন রিটার্ন টাইপ
void ডাটা টাইপ বাদে সবগুলি ডাটা টাইপ (ইন্টিজার, ক্যারেক্টার ইত্যাদি) এর ফাংশন কিছু না কিছু রিটার্ন করে।
যেমন,
int add(){
return 10;
}
এই ফাংশন কল করলে আমরা ১০ পাব । চল দেখি কিভাবে কল করা যায়
#include <stdio.h>
int main ()
{
int a = 0;
printf("value is %d", a + add());
}
int add(){
return 10;
}
//আউটপুট value is 10
void ডাটা টাইপ এর ফাংশন হলে কিছু রিটার্ন করবে না। শুধু কাজটি করে দিবে।
যেমন,
#include <stdio.h>
int main ()
{
hello();
}
void hello(){
printf("hello c");
}
//আউটপুট hello c
এমন যদি হত আমরা ফাংশন এর সাথে যোগ করার ভ্যালু গুলি দিতে পারতাম। চল আমরা যোগ করি ফাংশন এর আর্গুমেন্ট ব্যবহার করে।
যেন, কল করার সাথে ভ্যালু দিয়ে দিতে পারি।
#include <stdio.h>
int main ()
{
printf("sum is = %d",sum(4, 50));
}
int sum(int n, int m){
return n + m;
}
sum is = 54
এর পর যতবার কোডে যোগ এর প্রয়োজন হবে ততবার sum(4, 50) লিখলে হবে এবং নতুন ভ্যালু গুলি দিয়ে দিতে হবে।
এটি ইচ্ছা করলে আমরা ভেরিয়েবল দিয়ে ডুকাতে পারতাম
#include <stdio.h>
int main ()
{
//এখানে যেকোন নাম দিলে হবে n, m এর সেইম হতে হবে না
int a = 30, b = 40;
printf("Enter two number ");
scanf("%d%d", &a,&b);
printf("sum is = %d",sum(a, b));
}
int sum(int n, int m){
return n + m;
}
Enter two number 12 65
sum is = 77
উপরের মেইন ফাংশন রেখে কাজ করলে একটি এরর আসতে পারে নাম নাও চিনতে পারে কম্পাইলার তাহলে int sum(int, int) এই লেখাটা int main () এর উপরে দিয়ে দিলেই হবে।
তাহলে, তোমরা বুঝে গেছ ফাংশন এর বেসিক। বিয়োগ, গুন, ভাগ, মডিউলাস, বর্গ ইত্যাদি করে ফেল,
জোড় কিনা বিজোড় বের দেখি চল
#include<stdio.h>
int even_odd(int);
void main()
{
int n,flag=0;
printf("\nCheck even or odd");
printf("\nEnter number: ");
scanf("%d",&n);
flag = even_odd(n);
if(flag == 0)
{
printf("The number is odd");
}
else
{
printf("The number is even");
}
}
int even_odd(int n)
{
if(n%2 == 0)
{
return 1;
}
else
{
return 0;
}
}
Check even or odd
Enter number: 22
The number is even
কাজ
- সব কোড ফাংশন লিখে কর।
- Function in c লিখে সার্চ করে প্রক্টিস কর।
- HelpLink
altyazili
Touche. Great arguments. Keep up the amazing spirit. Mirilla Brannon Stephie
bncodeing
Thanks. follow bncodeing guideline.
hd film izle
Good way of describing, and pleasant post to take information regarding my presentation focus, which i am going to present in academy. Marley Barn Nichani
7 kogus
Too bad my current Civil Service job has no opportunities for writing. Bee Archaimbaud Jonathan
netflix
I seriously love your site.. Great colors & theme. Rebecca Damon Ot
netflix
Many kickers make the mistake of kicking with the front of the foot. Yetty Willy Oralie
bncodeing
Thanks. follow bncodeing guideline.
hindi movie
I have read so many posts about the blogger lovers however this post is actually a fastidious piece of writing, keep it up. Dniren Elnar Izzy
bncodeing
Thanks. follow bncodeing guideline.
torrent
You need to take part in a contest for one of the highest quality blogs on the web. I am going to recommend this site! Jorry Hobard Rabelais
watch
Did you find a solution to this problem? I am having the same issue. Kalindi Ferris Matilda
bncodeing
Thanks. follow bncodeing guideline.
diziler
This is one awesome blog post. Thanks Again. Fantastic. Paulina Orlan Sudbury
bncodeing
Thanks. follow bncodeing guideline.
kesintisiz
Like!! I blog frequently and I really thank you for your content. The article has truly peaked my interest. Alie Donal Boigie
bncodeing
Thanks. follow bncodeing guideline.
turkce
Awesome! Its in fact awesome post, I have got much clear idea on the topic of from this paragraph. Sayre Cece Laurita
bncodeing
Thanks. follow bncodeing guideline.
turkce
I have been surfing online greater than three hours these days, but I never found any attention-grabbing article like yours. It is beautiful value enough for me. In my opinion, if all web owners and bloggers made good content material as you probably did, the net shall be a lot more useful than ever before. Almeda Hort Takeshi
bncodeing
Thanks for your positive comment.
turkce
When I originally commented I appear to have clicked the -Notify me when new comments are added- checkbox and from now on each time a comment is added I receive four emails with the same comment. There has to be an easy method you are able to remove me from that service? Kudos! Riane Avery Cherianne
bncodeing
Thanks. follow bncodeing guideline.
turkce
Very good article! We will be linking to this particularly great content on our website. Keep up the good writing. Auria Archie Nevada
bncodeing
Thanks.
720p
I gotta bookmark this web site it seems very useful very beneficial Tobi Colin Lotta
bncodeing
Thanks and Follow bncodeing
erotik
I love it whenever people get together and share views. Amil Vaughan Ruckman
bncodeing
Thanks. follow bncodeing guideline.
샌즈카지노
Pretty! This has been an incredibly wonderful article. Thank you for providing this info. Jobye Hayward Seligman
bncodeing
Thanks. Follow bncodeing instruction.
샌즈카지노
I have read so many articles or reviews concerning the blogger lovers except this paragraph is truly a good piece of writing, keep it up.| Joana Nester Indihar
erotik
You, my pal, ROCK! I found exactly the info I already searched everywhere and just could not find it. What a perfect website. Cyb Waiter Abagael
erotik
Hi there. I discovered your site via Google whilst searching for a similar subject, your website came up. It seems to be good. I have bookmarked it in my google bookmarks to visit then. Karine Xever Malda
샌즈카지노
search top professional design of fake rolex vs real from authentic online store. Carissa Dwain Estella
erotik
Thank so much for helping me. I love sucking dick btw hmu Ranee Byrann Jessa
erotik
My family members every time say that I am killing my time here at net, but I know I am getting experience all the time by reading such fastidious posts.| Wilma Stillman Corenda
Film İzle
I am grateful to you for this beautiful content. I have included the content in my favorites list and will always wait for your new blog posts.