内存可以通过以下两种方式分配:

静态内存分配
静态变量定义在一个分配的空间块中,大小固定。一旦分配,就不能释放。
程序中为声明的变量分配内存。
可以使用“&”运算符获取地址并赋给指针。
内存在编译时分配。
它使用堆栈来维护内存的静态分配。
在这种分配中,一旦分配了内存,内存大小就不能改变。
效率较低。
变量的最终大小在程序运行之前确定,这被称为静态内存分配。也称为编译时内存分配。
我们无法更改在编译时分配的变量的大小。
示例1
静态内存分配通常用于数组。让我们以数组为例进行一个示例程序:
演示
#includemain (){ int a[5] = {10,20,30,40,50}; int i; printf (“Elements of the array are”); for ( i=0; i<5; i++) printf (“%d, a[i]);}
输出
Elements of the array are1020304050
Example 2
让我们考虑另一个例子来计算数组中所有元素的和与积 −
实时演示
#includevoid main(){ //Declaring the array - run time// int array[5]={10,20,30,40,50}; int i,sum=0,product=1; //Reading elements into the array// //For loop// for(i=0;i<5;i++){ //Calculating sum and product, printing output// sum=sum+array[i]; product=product*array[i]; } //Displaying sum and product// printf("Sum of elements in the array is : %d",sum); printf("Product of elements in the array is : %d
",product);}
输出
Sum of elements in the array is : 150Product of elements in the array is : 12000000
以上就是在C编程中,静态内存分配是什么意思?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1445180.html
微信扫一扫
支付宝扫一扫