小编zoy*_*han的帖子

int和char指针如何影响我的打印输出?

所以这里是代码,直到第4次打印我很容易跟着它,但在第5次打印时,我不明白

为什么"5: a[0] = 200, a[1] = 128144, a[2] = 256, a[3] = 302 "呢?

我已经在代码中评论了我不理解的行.我期待着您的回复.

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

void
f(void)
{
    int a[4];
    int *b = malloc(16);
    int *c = 0;
    int i;

    printf("1: a = %p, b = %p, c = %p\n", a, b, c);

    c = a;
    for (i = 0; i < 4; i++)
    a[i] = 100 + i;

    c[0] = 200;
    printf("2: a[0] = %d, a[1] = %d, a[2] = %d, a[3] …
Run Code Online (Sandbox Code Playgroud)

c pointers

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

c变量存储在eax寄存器中

我在这做错了什么?

int val = 15;
asm ("movl %1, %%eax"::"r"(val):"%eax" );
__asm__ volatile ("int $0x80");
Run Code Online (Sandbox Code Playgroud)

我想在eax中移动15然后调用中断

"错误":'asm':操作数超出范围

c assembly gcc inline-assembly

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

标签 统计

c ×2

assembly ×1

gcc ×1

inline-assembly ×1

pointers ×1