发布网友 发布时间: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的就是动态变量