小编Viv*_*vek的帖子

为什么将sizeof运算符应用于extern变量不会输出0

以下代码的输出是4.不应该0吗?

由于a已声明且未定义,因此未为其分配内存.

#include <stdio.h>
#include <stdlib.h>

int main()
{
    extern int a;
    printf("%ld",sizeof(a));

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c

6
推荐指数
3
解决办法
129
查看次数

算术运算符如何处理c中的地址?

int main(void){
   int arr[] = {1, 2, 3, 4, 5, 6};
   printf("%p\t%p\t%d\n",arr,arr+1,(arr+1)-arr);
   return 0;
 }
Run Code Online (Sandbox Code Playgroud)

输出:

  0x7ffe583f4ba0    0x7ffe583f4ba4  1
Run Code Online (Sandbox Code Playgroud)

为什么差异1?不应该是4.

c pointers

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

标签 统计

c ×2

pointers ×1