栈区存储

#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\n", &a);

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

  int temp=a;

  a=b;

  b=temp;

}

int main0101()

{

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

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

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

  swap(a,b);

  printf("%d\n",a);

  printf("%d\n",b);

  return EXIT_SUCCESS;

//结果

 

 

}

int main(void)

{

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

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

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

//结果

 

 

 

 

 

 

//内存四区

 

 

//改变栈区内存大小

 

 

 

 

}

 

posted @ 2020-09-09 20:08  wh19991213  阅读(430)  评论(0编辑  收藏  举报