栈区存储
#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]);
//结果
//内存四区
//改变栈区内存大小
}