局部变量 全局变量 动态变量分别存储什么位置

发布网友 发布时间:2022-04-22 03:05

我来回答

4个回答

热心网友 时间:2024-08-15 00:52

在C语言里面,局部变量,全局变量都是存贮在栈(stack)里面的,
而所有用malloc和new这种操作符动态分配的空间则都是存贮在堆(dump)里面的,
举个简单的例子:
int *ptr;
ptr =(int*)malloc(100*sizeof(int));
这两句中,ptr这个指针变量是存贮在栈里面,但是他所指向的内容则是在堆里面。明白了吗

热心网友 时间:2024-08-15 00:58

以int
a为例
如果int
a定义在函数外,(包括main函数)那么它就是全局变量,在函数内的就是局部变量。
而定义的时候加了static修饰的就是静态变量,没加static的就是动态变量

热心网友 时间:2024-08-15 00:52

同楼上,我也学习中

热心网友 时间:2024-08-15 00:59

楼上回答的很好,我也学习了

热心网友 时间:2024-08-15 00:54

在C语言里面,局部变量,全局变量都是存贮在栈(stack)里面的,
而所有用malloc和new这种操作符动态分配的空间则都是存贮在堆(dump)里面的,
举个简单的例子:
int *ptr;
ptr =(int*)malloc(100*sizeof(int));
这两句中,ptr这个指针变量是存贮在栈里面,但是他所指向的内容则是在堆里面。明白了吗

热心网友 时间:2024-08-15 00:56

楼上回答的很好,我也学习了

热心网友 时间:2024-08-15 00:58

同楼上,我也学习中

热心网友 时间:2024-08-15 00:57

以int
a为例
如果int
a定义在函数外,(包括main函数)那么它就是全局变量,在函数内的就是局部变量。
而定义的时候加了static修饰的就是静态变量,没加static的就是动态变量

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com