小编Anb*_*kar的帖子

数组占用的内存空间

这是一个基本问题,但我找不到明确的答案.希望有人可以解释一下.

我想知道一个阵列占用多少内存空间.

多个不同类型的数组但具有相同的组合字节大小会占用相同的内存量吗?

阵列是否与具有相同大小的多个阵列占用相同的内存空间?

一些例子:

(在我的系统8051微控制器上 char = 1 byte; int = 2 bytes ; float = 4 bytes;)

//case 1
char array_nr1[40];

//case 2
char array_nr1[10];
char array_nr2[10]; 
char array_nr3[10]; 
char array_nr4[10]; 

//case 3 
int array_nr1[10];
int array_nr2[10]; 

//case 4
float array_nr1[10];

//case 5 
char array_nr1[10];
int array_nr2[5];
float array_nr3[5];
Run Code Online (Sandbox Code Playgroud)

是否所有5个案例都占用相同的内存量(40个字节)?是否有任何其他数据存储在内存中(例如阵列基地址)

谢谢.

c memory arrays

5
推荐指数
1
解决办法
1万
查看次数

没有分号的语句没有错误

     #include <stdio.h>
    int main()
    {

    int a,b;
    b=10;

    a=b--;
    printf("a=%d b=%d\n",a,b);

    a=b---           //Here why i didn't get error....???
    printf("a=%d b=%d\n",a,b);

                     //a=b---- or a=b---; //for these, i got error

    a=b--;
    printf("a=%d b=%d\n",a,b);

    }
Run Code Online (Sandbox Code Playgroud)

为什么声明b---不显示错误.我可以说这是一个错误......?如果不是,请解释一下内部发生了什么......?

c statements

1
推荐指数
1
解决办法
69
查看次数

标签 统计

c ×2

arrays ×1

memory ×1

statements ×1