小编Shi*_*ale的帖子

搬迁的概念是什么意思?

我是装配新手,因此想要了解更多关于搬迁的概念.

  1. 为什么我们需要重新定位程序和数据?
  2. 究竟是怎么做到的?

如果有人可以用初学者级别的例子来解释,那将会很棒.

assembly linker relocation

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

C中的sizeof()函数

main()
{
char a[] = "Visual C++";
char *b = "Visual C++";
printf("\n %d %d",sizeof(a),sizeof(b));
printf("\n %d %d",sizeof(*a),sizeof(*b));
}
Run Code Online (Sandbox Code Playgroud)

sizeof(a)给我输出:( 11 即字符串的长度)

为什么会这样?
为什么不输出sizeof(a)= 4因为当我尝试打印a它时给我一个地址值,因此是一个整数?

c arrays pointers

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

如何定义外部变量?

关于在C中使用extern关键字和变量,我有一些疑问.我确实浏览了与此问题相关的链接.但是,还有一些我没有收集得很好的东西

#include<stdio.h>
    main( )
    {
    extern int i;
    printf ( "\n%d ",i) ) ;
    }
    int i = 31 ;
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,如何在定义语句之前打印?
现在在以下代码中:

#include<stdio.h>
int x = 21 ;
main( )
{extern int i;
 i=20;
printf ( "\n%d ", i ) ;
}
Run Code Online (Sandbox Code Playgroud)

不是声明"i = 20;" 定义声明?我得到一个错误.是因为我正在尝试更改其他源文件中定义的变量吗?如果是这种情况,语句如何"int i = 31;" 在最顶级的代码片段中使用权?

另外,我读到,"int i;" 是一个定义.我真的不怎么做.

c declaration definition extern

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

C - 将字符串输入int变量?

在以下代码中,

#include <stdio.h>
int main()
{
    int i = 5;
    scanf("%s", &i);
    printf("%d\n", i);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我取输入字符串存储在地址i.当我尝试打印变量时i,我得到一些数字.

输入示例:

hello
Run Code Online (Sandbox Code Playgroud)

输出:

1819043176
Run Code Online (Sandbox Code Playgroud)

这是什么数字,到底发生了什么?

c int scanf

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

标签 统计

c ×3

arrays ×1

assembly ×1

declaration ×1

definition ×1

extern ×1

int ×1

linker ×1

pointers ×1

relocation ×1

scanf ×1