এখানে আমরা দেখব সি ভেরিয়েবলগুলো কীভাবে স্কোপ করা হয়। সি-এ ভেরিয়েবলগুলো সবসময় স্ট্যাটিক্যালি স্কোপড (statically scoped)। একটি ভেরিয়েবলের বাইন্ডিং প্রোগ্রাম টেক্সট দ্বারা নির্ধারিত হয়। এগুলো রানটাইম ফাংশন কল স্ট্যাক থেকে স্বতন্ত্র।
ধারণা পেতে একটি উদাহরণ দেখি।
উদাহরণ
#include <stdio.h>
int x = 0;
int my_function() {
return x;
}
int my_function2() {
int x = 1;
return my_function();
}
int main() {
printf("The value is: %d\n", my_function2());
}
আউটপুট
The value is: 0
ফলাফল ০। কারণ my_function() যা রিটার্ন করে তা সেটি কোন ফাংশন কল করছে তার ওপর নির্ভর করে না। এটি ফাংশন সবসময় গ্লোবাল ভেরিয়েবল x-এর মান রিটার্ন করে।