- 
            
            GCC会对内存变量分配进行优化:同一种变量类型会放到一块儿! 32位操作系统的指针变量占4个字节 64位操作系统的指针变量占8个字节 此处int型变量占4个字节 在代码段函数是从低地址向高地址存放的,先申请的函数地址小,后申请的函数地址大 全局变量的地址在数据段,它的地址是唯一的查看全部
 - 
            
            一个字节有8个二进制位 地址总线32位-操作系统的寻址空间32位-给内存的编号只能编到32个进制位查看全部
 - 
            
            使用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 退出调试查看全部
 - 
            
            反思:一个16进制的数字,就可以表示4位二进制数字。查看全部
 - 
            
            传值传的是地址查看全部
 - 
            
            存储空间查看全部
 - 
            
            1.C语言的特色在于指针和内存,正事由于C语言对指针和内存的精确调用,使得C语言具有很高的性能。 2.计算机的运行方式:计算机内部计算使用二进制,显示使用十进制,编程的时候使用十六进制。 3.32位操作系统最多使用4G内存,原始是因为CPU最多使用32个地址总线控制内存,而2的32次方就是4G. 4.操作系统会对所有内存进行编号,这些编号就是内存的地址。计算机通过操作系统控制程序的运行,计算机里面的全部内存,低编码位用来做当作各种应用程序运行所需要的内存,高编码位是计算机内核使用。用户内存从低到高依次是编码段,数据段,堆和栈,堆和栈之间还有一大部分是动态内存。以备不时之需。 5.用户内存隔离的好处在于把操作系统内核所需要的内存和应用程序内存分隔开,就不容易出现卡机或者死机的状态。查看全部
 - 
            
            内存模型查看全部
 - 
            
            gdb的使用,调试程序 函数堆栈查看全部
 - 
            
            系统内存管理查看全部
 - 
            
            *a=*b 就是把代号为b的地址所存储的数据传到代号为a的地址中 并替换a地址中的原有数据 加了*的为指针变量 可以理解为指引 所谓的变量只是地址名称查看全部
 - 
            
            堆栈内存模型查看全部
 - 
            
            变量的本质是内存查看全部
 - 
            
            64bit系统下,指针占8个字节查看全部
 - 
            
            变量的本质是内存查看全部
 
举报
0/150
	提交
		取消