-
& 表示取地址符 * 表明这是一个指针变量查看全部
-
调试工具 gdb ,使用时 源代码编译用 gcc -g main.c -o main.out 命令查看全部
-
gdb命令: x/[数字]cb [内存地址] 从改地址开始连续打印若干长度内存数据查看全部
-
gdb命令: q 退出调试查看全部
-
gcc -g命令编译后才能使用gdb gdb命令: start 开始单步调试 break [行号] 加断点 l(ist) 列出代码 n 下一条指令 p [变量名] 打印变量名的值 s 进入函数 bt 显示函数堆栈 f [函数堆栈号] 切换函数堆栈查看全部
-
静态变量 static关键字。函数调用结束后,静态变量的值不消失。对一个C文件里的全局变量和函数加入static的申明 可以防止被其他C文件误调用,即限定作用域只是当前文件,其他文件中即使有同名变量和函数也不影响。查看全部
-
最先分配的栈地址大一些查看全部
-
p;指针指向的变量地址 *p;指针指向的变量值 &p;指针自己所在的地址 既然一个指针保存的是变量的地址,对32位CPU,地址有4个字节,就需要4个内存单元来存储,所以每次++p在内存里都是跳4格。查看全部
-
array是指针常量 指针则是指针变量查看全部
-
64位操作系统,指针都是占用8个字节查看全部
-
0x表示十六进制 1个16进制的数字,就可以表示4位二进制数字查看全部
-
a 代表的内存地址 *a 代表的是这个内存地址所赋的值 *a = *b 表示b地址所赋的值替换a地址所赋的值查看全部
-
使用gdb调试步骤: 1、使用带-g选项的gcc命令编译源文件:gcc -g main.c -o main.out 2、使用gdb工具调试:gdb ./main2.out 3、调试过程中:(gdb): l 列出当前项目源代码(list)→再按l或直接按回车:继续执行上一命令 break 12 将断点打在第12行 start 单步调试 p a 显示当前a的值(print)(当前行的命令未完全执行) n 进入下一行(next) s 进入当前函数内部(step) bt 查看函数堆栈(在上方的函数先执行) f 1 切换到1号栈 q 退出调试查看全部
-
指针变量 定义int *a 地址符号&a查看全部
-
二进制,十进制,十六进制对比图查看全部
举报
0/150
提交
取消