-
gdp -help查看全部
-
gdb调试工具查看全部
-
123查看全部
-
123查看全部
-
字符串指针(char *str)指向的字符串存放在代码段,而字符数组(char str[])的字符串存放在栈中。 代码段不能被修改,只有在栈内存或者堆内存的数据才能修改。查看全部
-
字符串是以'/000'结束的 堆、栈内存中的内容是以更改的,代码段内存中的内容不允许修改。 实例: char *str = "apple"; scanf("%s",str); 这是错误的,因为str指向的是代码段内存中的内容,该内容不能进行修改!!查看全部
-
Array数组其实是一种指针常量,而p则是一种指针变量(数组和指针有一定的通用性,又有一定的差别,指针可以表达数组,而数组不可以表达指针)查看全部
-
工具gdb内的指令格式: x/3d 0×7ffffffde14 x/:表示连续输出地址内的值 3:表示输出3个地址内的值 d:表示连续输出的值用十进制表示 0×7fffffffde14:表示三个连续地址里的第一个地址查看全部
-
函数指针也可以调用一个函数 (*函数指针)(形参):函数指针调用方法查看全部
-
地址分配:代码,数据段是从下往上分配(先低地址,后高地址),栈是从上往下分配(先高地址,后低地址) 函数中静态变量,局部变量区别: 局部变量在栈(相对数据段而言的高地址)中,而静态变量在数据段(低地址)中. 所以在多次调用函数时,静态变量不会被重新,初始化. 或者这么说,静态变量的生存周期和数据段相同,局部变量生存时间受调用函数时,所属函数进栈出栈的影响而会重新初始化. 全局变量和静态变量都在数据段中,但静态变量是某个函数特有的.查看全部
-
了解GDB查看全部
-
P[4]不是p往下面移动了4个位置,而是从p开始的地址往后移动4个位置取值,p指向的地址还是不变的查看全部
-
64位系统下,指针占8个字节,32位 4个字节。 栈、先声明的地址大,后声明的地址小,与代码段数据段相反。 编译器优化代码,把声明时不在一起的同一类型变量,放到一起(某种程度上修改了源码) 如 声明 int a ; float b ; int c; 编译后变量a的地址和c的地址是连在一起的. 64位寻址下,指针占用8字节空间.查看全部
-
变量名只是代号<br> 变量的本质是内存 在标准的C语言中,不允许直接对内存地址进行操作,只能是对操作系统已经分配给的内存空间进行操作。(防止用户自己操作内存地址时侵吞系统内存或者其他程序的内存)查看全部
-
123查看全部
举报
0/150
提交
取消