指针置0
c语言:
int* ptr = malloc(sizeof(int)); // 分配一个 int 类型的内存块
ptr = 0; // 将指针置为 0
汇编代码:
mov rdi, 4 ; sizeof(int)
call malloc ; 分配内存块
mov QWORD PTR [rbp-8], rax ; 将分配的内存块地址存储在栈上的指针变量 ptr 中
mov QWORD PTR [rbp-8], 0 ; 将指针变量 ptr 置为 0
指针指向的地址的内容置0
c语言:
int* ptr = malloc(sizeof(int)); // 分配一个 int 类型的内存块
*ptr = 42; // 将内存块的值设置为 42
*ptr = 0; // 将内存块的值设置为 0
汇编代码:
mov rdi, 4 ; sizeof(int)
call malloc ; 分配内存块
mov QWORD PTR [rbp-8], rax ; 将分配的内存块地址存储在栈上的指针变量 ptr 中
mov rax, QWORD PTR [rbp-8] ; 将 ptr 指向的内存块地址存储在 rax 中
mov DWORD PTR [rax], 42 ; 将内存块的值设置为 42
mov rax, QWORD PTR [rbp-8] ; 将 ptr 指向的内存块地址存储在 rax 中
mov DWORD PTR [rax], 0 ; 将内存块的值设置为 0
Comments | NOTHING