c - 为以下代码分配了多少空间?

标签 c pointers

表达式分配了多少空间

int *a[10];

如果大小为 int4和大小int pointer2 .

选项有 2、4、20、40

我不太擅长指点,请帮助我。

最佳答案

在声明 int *a[10] 中,a 是指向 10 大小的 int 的指针数组,因此 size = sizeof (int*) * 10

您可以应用 sizeof 运算符来打印其大小:

printf("sizeof = %zu", sizeof(a)); 

如果假设在某些系统中,指向 int 的指针 sizeof 是 2(正如您所说),那么 size 将是 20 字节。

关于c - 为以下代码分配了多少空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19637059/

相关文章:

c - 是否有任何 POSIX 函数或 glibc 扩展实现了广度优先文件树遍历?

c - 不是 JPEG 文件 : Starts with 0x00 0x00

c++ - 为什么 C++ 没有指向成员函数类型的指针?

C - 函数内的数组初始化

c++ - 无法理解符号 : * and ** with pointers

c - 找出可以形成的正方形数

使用 memcpy 将二维动态数组(指针)复制到静态数组

c++ - 仅比较两个不同数组的第一个元素

c - lwip netconn api - 无法接收来自 SNTP 服务器的应答

c++ - 防止 vector 项被移动