1所有指针变量的大小(宽度)都是固定的1.1为什么指针变量的大小都是一样的?因为存储空间所有字节的指针都是相同“宽度”的,比如,如果地址宽度是32位的话,那么每个字节的地址都是32位的。比如,如果地址宽度是64位的话,那么每个字节的地址都是64位的。既然所有字节的指针宽度都是一样的,因此所有指针类型......
1、指针1.1指针与指针变量1.1.1指针前面说过,指针就是地址,指针和地址是同义词。1.1.2指针变量存放指针的变量就是“指针变量”。1.2*与&1.2.1&(1)&作为双目运算符使用时,为“位与”运算符inta=0x10;intb=0x04;intc=a&b;(2......
1、数据的类型(1)空间第一个字节的地址代码、变量、常量空间,往往都是连续的一片字节空间,到底哪一个字节的地址才代表整个空间的地址(指针)呢,我们前面说过,第一个字节的地址是整个空间的指针。(2)如何访问一片连续字节空间只要知道如下几件事即可。1)知道第一个字节的地址2)知道访问到第几个字节结束3)......
1.存储空间、符号、地址1.1存储空间1.1.1什么是存储空间就是程序代码和数据的存放空间,笼统可以分为如下两种情况。没有运行时:存储在硬盘(外存)上,所以此时的存储空间为硬盘。运行时:代码和数据存放在内存上,供cpu访问。当然程序在运行时,还需要用到寄存器和cache,寄存器和cache同样也是存......
1、链接域与extern、static关键字1.1回顾链接我们在之前详细的讲过链接,这里因为课程的需求,我们需要再回顾下。一个真正的C工程一定是多文件的(多.c、多.h),这些文件被编译为.o后,需要被链接为一个完整的可执行文件,链接的工作由链接器来完成。链接时主要做两件事:(1)符号解析1)对全局......
1、函数和全局变量的本文件作用域1.1本文件作用域的有效范围从定义位置开始到文件结束。a.cintmain(void)//main的本文件作用域:从定义位置到文件末尾{fun(g_var1,g_var2);return0;}intg_var1=100;//g_var的本文件作用域:从定义位置到文件末......
1、变量和函数的作用域1.1什么作用域就是变量和函数起作用的范围,只要在这个范围内,你就可以访问该变量和函数作用域实际上有三种:(1)局部变量的代码块作用域(2)函数和全局变量的本文件作用域(3)跨文件作用域——链接域,与链接有关前两种我们在本小节介绍,第三种我们放到“链接域”小节介绍。1.2局部变......
1、指令、常量、变量的生命周期1.1什么是生命周期生命周期,指的就是空间从诞生到消亡。诞生:从内存中开辟出空间。消亡:释放空间只有在生命周期这段时间内,空间才是有效的,在生命周期外的时间,空间是无效的,不能访问。1.2指令和常量的生命周期指令在.text中,常量要么在.text中,要么在.rodat......
1、什么是存储类存储类这个东西,在不同书籍中可能解释的不太一样,在这里为了便于理解,我们会采用我们的解释方式。存储类的全称叫“存储类型”,存储类就是用来说明“常量、变量和函数”的存储位置的,比如自动局部变量在栈中,存储位置为栈,那么它的存储类就是栈。1.1详细说说存储类,以及与之相关的auto、st......
1、回顾Linux下c内存映像我们有详细的介绍过C程序在Linux下的内存映像,因为本章的课程需求,我们这里需要回顾一下。1.1代码段(只读段)代码段在编译时就定好了,在程序的运行过程中,不能在代码段去开辟空间,以及释放空间。1.1.1ELF头、段头部表、init节这三个在之前已经介绍过了,在这里我......
- 1
- 2
- 3
- 4
- 5