কম্পিউটার টিউটোরিয়াল

C ভাষায় ইন্টার-ফাংশন কমিউনিকেশনের জন্য পয়েন্টার ব্যাখ্যা


আমরা জানি ফাংশন দুভাবে কল করা যায়: কল বাই ভ্যালু (Call by Value) এবং কল বাই রেফারেন্স (Call by Reference)।

  • যদি একচুয়াল প্যারামিটার কলড ফাংশনে পরিবর্তন না হয়ে থাকা উচিত, তবে প্যারামিটার ভ্যালু দিয়ে পাস করুন।
  • যদি একচুয়াল প্যারামিটারের মান কলড ফাংশনে পরিবর্তন করতে হয়, তবে পাস-বাই-রেফারেন্স ব্যবহার করুন।
  • যদি ফাংশন একাধিক মান রিটার্ন করতে হয়, তবে কল-বাই-রেফারেন্স ব্যবহার করে ইনডাইরেক্টলি এই মানগুলো রিটার্ন করুন।

উদাহরণ

একাধিক মান রিটার্ন করার ডেমোন্সট্রেশনের C প্রোগ্রাম:

#include<stdio.h> void main() {    void areaperi(int,int*,int*);    int r;    float a,p;    printf("enter radius of circle:\n");    scanf("%d",&r);    areaperi(r,&a,&p);    printf("area=%f\n",a);    printf("perimeter=%f",p); } void areaperi(int x,int *p,int *q) {    *p=3.14*x*x;    *q=2 * 3.14*x; }

আউটপুট

উপরোক্ত প্রোগ্রামটি এক্সিকিউট করলে নিচের আউটপুটটি দেখায়:

Enter radius of circle: 5 Area=78.50000 Perimeter=31.40000

নোট

  • পয়েন্টারদের সাথে একটি টাইপ জড়িত থাকে। সেগুলো শুধু পয়েন্টার টাইপ নয়, বরং নির্দিষ্ট টাইপের পয়েন্টার।
  • সকল পয়েন্টারের সাইজ একই, যা int এর সাইজের সমান।
  • প্রতিটি পয়েন্টার কম্পিউটারে একটি মেমরি লোকেশনের ঠিকানা ধারণ করে, কিন্তু পয়েন্টার যে ভেরিয়েবলকে রেফার করে তার সাইজ ভিন্ন হতে পারে।

  1. C প্রোগ্রামিং ভাষায় অ্যারে অফ পয়েন্টার্স ব্যাখ্যা

  2. সি ভাষায় ইউনিয়ন টু পয়েন্টার ব্যাখ্যা

  3. সি ভাষায় পয়েন্টার অ্যাক্সেসিং ধারণা ব্যাখ্যা

  4. গুগল ট্রান্সলেট গাইড: যেকোনো ভাষায় সহজ যোগাযোগের জন্য