栈区存储

#define CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>

//形参的参数是从后向前入栈的

void swap(int a,int b)

{

  printf("a=%p ", &a);

  printf("b=%p ", &b);

  int temp=a;

  a=b;

  b=temp;

}

int main0101()

{

//栈区存储的数据:局部变量、函数的形参、数组、函数的返回值

//栈区内存的分配与释放:由编译器自动分配和释放

//栈区存储特点:先进后出,后进先出 ;从上往下,往低地址方向依次存储(数组除外)

  swap(a,b);

  printf("%d ",a);

  printf("%d ",b);

  return EXIT_SUCCESS;

//结果

 

}

int main(void)

{

//栈区存储数组:整个数组按照栈存储,但是数组中的每个元素:从下往上,依次往高地址存储

  int arr[]={1,2,3,4};

  printf("%p %p %p %p ", &arr[0], &arr[1], &arr[2], &arr[3]);

//结果

 

//内存四区

//改变栈区内存大小

 

}

原文地址:https://www.cnblogs.com/wanghong19991213/p/13641351.html