c语言定义多个变量,变量地址相邻吗

如果int m,n和int m ;int n;效果一样吗,m和n的地址相邻吗?

效果是一样的,生成的地址跟声明方式是没啥关系的。

实际上变量的相对位置是在编译时决定的,所以可以认为不同写法产生的效果是相同的
有帮助望采纳

#include<stdio.h>
int main(int argc, char const *argv[])
{
    int m, n;
    int m1;
    int n1;
    printf("%p,%p,%p,%p",&m,&n,&m1,&n1);
}

img

l临时变量都是在栈里面,相邻的变量地址相邻
int m; int n;和int m,n;效果一样
int m,n;和int n,m;地址是反过来的