十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

C语言第七课:指针(一)

C语言第七课:指针(一) 一、内存和地址1.内存内存是计算机上的存储空间程序是运行在内存中的程序使用的空间也是来自内存。每个内存单元都有一个编号也就是地址C语言中给地址起了一个新的名字指针。内存单元的编号 地址 指针在C语言中创建变量其实就是向内存申请空间2.取地址操作符3.解引用操作符 *解引用操作符也叫间接访问操作符4.指针变量的大小指针变量的大小和类型无关在相同的平台下大小都是相同的在32位平台下地址是32个比特位指针变量的大小是4个字节在64位平台下地址是64个比特位指针变量的大小是8个字节指针类型决定了指针在解引用的时候一次访问了几个字节int*的指针解引用的时候一次访问4个字节char*的指针解引用的时候一次访问1个字节double*的指针解引用的时候一次访问8个字节pa的类型是int* pa认为自己指向的是int类型的数据pa1就应该是跳过1个int整型的数据也就是4个字节pc的类型是char* pc认为自己指向的是char类型的数据pc1就应该是跳过1个char类型的数据也就是1个字节了解后面会详细讲void*指针在指针类型中有一种特殊类型是 void * 类型的可以理解为无具体类型的指针也叫泛型指针这种类型的指针可以用来接受任意类型地址但是也有局限性void* 类型的指针不能直接进行指针的-整数和解引用的运算一般 void*类型的指针是使用在函数参数的部分用来接收不同类型数据的地址这样的设计可以实现泛型编程的效果使得一个函数来处理多种类型的数据二、指针运算1.指针-整数2.指针-指针指针-指针得到的是两个指针之间元素的个数tip指针-指针的时候两个指针要指向同一块空间。3.指针的关系运算两个指针比较大小
返回列表