-
gdb 下s用于进入函数中,查看全部
-
1.用gdb调试工具,首先加参数-g编译,这样才能调试。其次,运行程序时前面加gdb,格式: gdb ./*.out .。l用来显示代码。查看全部
-
void change (int *a,int *b) { int tmp=*a; *a=*b; b= }查看全部
-
定义指针变量时在变量类型和变量名中间加个 *, 指针变量的值本身是一个地址,在使用指针变量时,如果,在指针变量前加一个*表示取指针变量的值表示的地址中的内容,如果不加*则表示取指针变量的值,就是指针变量存的地址。查看全部
-
听得我根本停不下来查看全部
-
gdb 神器查看全部
-
char str[] = "hello"; char *str2 = "world"; char str3[10]; scanf("%s", str); // 可以输入长度大于6的字符串 str2 = "wise"; //出错,不允许. printf("%s\n", str); printf("%s\n", str2); 程序输入:aaaaaaaaaaaaaaaaaaa 程序输出: str = aaaaaaaaaaaaaaaaaaaaaaaaa str2 = world str3 = aaaaaaaaa查看全部
-
代码段中的内容是不允许修改的,而堆栈中的内容是可以更改的。查看全部
-
数组的本质是指针常量查看全部
-
函数func int func(int a){return a;} 指向函数func的函数指针:pfunc int (*pfunc)(int a) = &func; 使用: int b = (*pfunc)(3); 怎样判断一个指针是否为函数指针: 形如 type (*p)(T a)[= &b]; 则此时p就是一个函数指针。查看全部
-
静态变量、常量和全局变量默认存储在数据段中查看全部
-
函数的栈地址分布: 先调用的函数在栈中的地址就越大 变量在代码段中的地址分布: 先声明的变量地址越小(编译器优化后有所差异,总体来说是这样的)查看全部
-
gcc -g main.c -o main.out——>编译成可调式文件 ——>gdb ./main.out start 开始调试 p——>printf ==>p a(打印a的值) n——>next ==>显示下一个需要执行的命令 l——>list ==>显示当前文件内容 ==>enter ==>继续显示查看全部
-
gcc 编译器在编译程序的时候会对代码进行优化,它会将所有类型相同的变量声明放在一起,这样就产生了我们所写的代码对变量的声明顺序与变量在内存中存储的地址顺序出现不同的情况。gcc做这样的优化可以加快程序的运行。 64位的操作系统指针类型变量在内存中占8个字节 32位的操作系统指针类型变量在内存中占4个字节 int类型变量占4个字节查看全部
-
变量的本质就是内存 指针的本质就是内存地址查看全部
举报
0/150
提交
取消