已购买域名 如何做网站,h5技术做网站,做网站域名的成本,微信服务号功能开发1. 基本语法
1.1 指针变量的定义和使用(重点)
指针是一种数据类型#xff0c;指针变量指向谁 就把谁的地址赋值给指针变量 1.2 通过指针间接修改变量的值
指针变量指向谁 就把谁的地址赋值给指针变量
可以通过 *指针变量 间接修改变量的值 1.3 const修饰的指针变量
语法…1. 基本语法
1.1 指针变量的定义和使用(重点)
指针是一种数据类型指针变量指向谁 就把谁的地址赋值给指针变量 1.2 通过指针间接修改变量的值
指针变量指向谁 就把谁的地址赋值给指针变量
可以通过 *指针变量 间接修改变量的值 1.3 const修饰的指针变量
语法格式 int a 1; const int *p1 a; // 等价于 int const *p1 a; int * const p2 a; const int * const p3 a; 从左往右看跳过类型看const修饰谁 如果修饰*说明指针指向的内存不能改变 如果修饰指针变量说明指针的指向不能改变指针的值不能修改 1.4 指针大小
使用 sizeof() 测量指针的大小得到的总是4或8
sizeof()测的是指针变量指向存储地址的大小 在32位平台上所有的指针地址都是32位4字节 在64位平台上所有的指针地址都是64位8字节 1.5 指针步长
指针步长指的是通过指针进行递增或递减操作时指针所指向的内存地址相对于当前地址的偏移量。
指针的步长取决于所指向的数据类型。 指针加n等于指针地址加上n个sizeoftype的长度 指针减n等于指针地址减去n个sizeoftype的长度 1.6 野指针和空指针
指针变量也是变量是变量就可以任意赋值但任意数值赋值给指针变量没有意义因为这样的指针就成了野指针此指针指向的区域是未知操作系统不允许操作此指针指向的内存区域。
野指针不会直接引发错误操作野指针指向的内存区域才会出问题
为了标志某个指针变量没有任何指向可赋值为NULL NULL是一个值为0的宏常量 1.7 多级指针
C语言允许有多级指针存在在实际的程序中一级指针最常用其次是二级指针。 2. 指针和函数
2.1 函数参数传值
传值是指将参数的值拷贝一份传递给函数函数内部对该参数的修改不会影响到原来的变量 2.2 函数参数传址(重点)
传址是指将参数的地址传递给函数函数内部可以通过该地址来访问原变量并对其进行修改。