Computer >> Máy Tính >  >> Lập trình >> lập trình C

C Chương trình tìm hướng phát triển của ngăn xếp

Ngăn xếp là một cấu trúc dữ liệu lưu trữ các phần tử. Có hai hoạt động trên ngăn xếp. đẩy để thêm một phần tử mới vào ngăn xếp. cửa sổ bật lên xóa một phần tử khỏi ngăn xếp.

Ngăn xếp có thể phát triển lên và xuống theo bản chất của chương trình sử dụng nó. Chương trình tìm hướng phát triển của ngăn xếp trong một chương trình.

Thuật toán

Step 1: Create a local variable in the main function.
Step 2: Create a function that with a local variable.
Step 3: Call the function from the main function. And then compare the local variables of in both these functions.
Step 4: Compare the address of local variables in main and the function.
Step 5: If address variable in main is more than local variable of the function, then stack grows upward otherwise it grows downward.

Ví dụ

#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;
}

Đầu ra

Stack grows downward