स्टैक एक डेटा संरचना है जो तत्वों को संग्रहीत करती है। स्टैक पर दो ऑपरेशन होते हैं: push जो स्टैक में एक नया तत्व जोड़ता है, और pop जो स्टैक से एक तत्व हटाता है।
प्रोग्राम की प्रकृति के अनुसार स्टैक ऊपर या नीचे की ओर बढ़ सकता है। प्रोग्राम में स्टैक के विकास की दिशा ढूंढने का प्रोग्राम।
एल्गोरिदम
चरण 1: main फंक्शन में एक स्थानीय चर बनाएं। चरण 2: एक स्थानीय चर के साथ एक फंक्शन बनाएं। चरण 3: main फंक्शन से फंक्शन को कॉल करें। और फिर दोनों फंक्शन के स्थानीय चरों की तुलना करें। चरण 4: main और फंक्शन में स्थानीय चरों के पते की तुलना करें। चरण 5: यदि main में चर का पता फंक्शन के स्थानीय चर से अधिक है, तो स्टैक ऊपर की ओर बढ़ता है अन्यथा यह नीचे की ओर बढ़ता है।
उदाहरण
#include <stdio.h>
void fun(int *main_local_addr){
int fun_local;
if (main_local_addr < &fun_local)
printf("Stack grows upward\n");
else
printf("Stack grows downward\n");
}
int main(){
int main_local;
fun(&main_local);
return 0;
}
आउटपुट
Stack grows downward