Call by Value এবং Call by Reference ব্যাখ্যা কর ।
Call By Value | Call By Reference |
---|---|
Original Value এর কোনো পরিবর্তন হয় না। | এখানে Original Value এর পরিবর্তন হয় । |
এখানে ভেরিয়েবলের অনুলিপি (Copy of variable) পাস হয়ে থাকে। | এখানে ভেরিয়েবল নিজেই পাস হয়ে থাকে। |
Actual এবং Formal Argument ভিন্ন ভিন্ন Memory Location এ তৈরি হয় । | Actual এবং Formal Argument একই Memory Location এ তৈরি হয়। |
ভেরিয়েবলের মান কে একটি সরল পদ্ধতি ব্যবহার করে পাস করা হয় | ভেরিয়েবলের ঠিকানা (Address of Variable)সঞ্চয় করতে পয়েন্টার এর প্রয়োজন হয় । |
int main() { int x = 10; printf("before calling=%d",x); increment(x); printf("After calling=%d",x); getch(); } void increment(int a) { a = a + 1; printf("value is=%d",a); } | int main() { int x = 10; printf("before calling=%d",x); increment(&x); printf("After calling=%d",x); getch(); } void increment(int *a) { *a = *a + 1; printf("value is=%d",*a); } |
#Video tutorial...coming
Command Line argument বলতে কি বোঝ? এটির Syntax-টি লেখ ।
C Programming language-এর নিম্নলিখিত term গুলি উদাহারন সহ ব্যাখ্যা কর । 1)fseek() 2)fwrite
coming soon.....
Dynamic Memory Allocation কি? উদাহারন সহযোগে ব্যাখ্যা কর ।
অ্যারে(Array) হ'ল একটি নির্দিষ্ট সংখ্যক মানের সংগ্রহকরন । একবার অ্যারের আকার ঘোষণা (Array Size Declaration) হয়ে গেলে আপনি এটিকে পরিবর্তন করতে পারবেন না।
কখনও কখনও আপনি ঘোষিত অ্যারের আকার(Array Size) অপর্যাপ্ত হতে পারে। এই সমস্যাটি সমাধান করার জন্য, Run Time -এ আপনি mannualy memory allocation করতে পারেন। এটি প্রোগ্রামিংয়ে (Programming) Dynamic Memory Allocation নামে পরিচিত।
Dynamic Memory Allocation- এর জন্য C Programming Language কতগুলি Library Function ব্যবহার করা হয় এবং এগুলি "stdlib.h" নামক header file -এ defined করা থাকে। Library Function গুলি হল-
a) malloc()
b) calloc()
c)realloc()
d) free
malloc() কি? উদাহারন সহযোগে ব্যাখ্যা কর ।
malloc() function-এর অর্থ হল- memory allocation- যা নির্দিষ্ট সংখ্যক বাইটের মেমরির একটি ব্লক(Single block of memory) সংরক্ষণ করে।এটি void pointer return করে যার ফলে যে কোনও form-এর pointer-এ cast করা যায়। malloc() function ব্যবহার করলে মেমরি uninitialized অবস্থায় থাকে।
Syntax: ptr= (castType*)malloc(size);
Example: ptr = (int*) malloc(10 * sizeof(int));
উপরিউক্ত উদাহারন থেকে বলতে পারি 10*4=40 byte size এর মেমরির একটি ব্লক বরাদ্দ (allocate) হয়েছে। এখানে বরাদ্দকৃত মেমরির প্রথম বাইট (First byte of allocated memory) -এর address কে point করে ptr ।
calloc() কি? উদাহারন সহযোগে ব্যাখ্যা কর ।
calloc() function-এর অর্থ হল- contiguous allocation- যা নির্দিষ্ট সংখ্যক বাইটের মেমরির অনেকগুলি ব্লক(multiple block of memory) সংরক্ষণ করে। calloc() function ব্যবহার করলে মেমরি প্রত্যেক টি বিট-এর মান শূন্য হয়ে যায়।
Syntax: ptr= (castType*)calloc(n,size);
Example: ptr = (int*) calloc(5 ,sizeof(int));
উপরিউক্ত উদাহারন থেকে বলতে পারি মেমরিতে 5 ব্লক বরাদ্দ (allocate) হয়েছে যার প্রত্যেক টির আকার 5*4=20 byte ।
realloc() কি? উদাহারন সহযোগে ব্যাখ্যা কর ।
realloc()- re- allocation অর্থাৎ malloc()/ calloc() দ্বারা পূর্বে বরাদ্দকৃত মেমরির পুনরায় বৃদ্ধি অথবা হ্রাস করা।
Syntax: ptr= realloc(ptr,size);
free() কি? উদাহারন সহযোগে ব্যাখ্যা কর ।
free() -এই function টি ব্যবহার করলে malloc()/calloc() দ্বারা বরাদ্দকৃত মেমরি মুক্ত হয়।
Syntax: free(ptr);
No comments:
Post a Comment