typedef এবং #define দিয়ে আমরা almost same কাজ করতে পারি। যেমনঃ

#define vi vector<int>
typedef vector<int> vi;

তাহলে এদের পার্থক্যটা কি?

asked 27 Jan '15, 20:31

corei11's gravatar image

corei11
418114

retagged 28 Jan '15, 07:44

Kaiser%20Ahmed's gravatar image

Kaiser Ahmed
3.2k1922


#define : এটি প্রিপ্রসেসর কাজ ।
typedef : এটি কম্পাইলারের কাজ ।

#define : এটি স্কোপিং এর নিয়ম মেনে চলে না । যেখানে define করা হয় তারপর থেকে নীচের যে কোন জায়গায় ব্যাবহার করা হয় ।
typedef : এটি স্কোপিং এর নিয়ম মেনে চলে ।

#include<stdio.h>

int add(int , int b);

int main()
{
    #define i int
    i sum;
    sum = add(5,6);
    printf("%d",sum);

    return 0;
}

int add(i a, int b){ //-------------------------- no error
    return a+b;
}

কিন্তু

#include<stdio.h>

int add(int , int b);

int main()
{
    typedef int i;
    i sum;
    sum = add(5,6);
    printf("%d",sum);

    return 0;
}

int add(i a, int b){ //----------------------- error 
    return a+b;
}
permanent link

answered 28 Jan '15, 04:21

Sharif%20Chowdhury's gravatar image

Sharif Chowdhury
3.5k111

edited 28 Jan '15, 04:21

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×418
×139
×2
×1

question asked: 27 Jan '15, 20:31

question was seen: 2,336 times

last updated: 28 Jan '15, 07:44