指针(内存地址)
指针变量定义格式数据类型 * 变量名查询数据 *指针名int a10; int* pa; printf(%d\n,*p);//10*p 查找数据或修改数据 如*p200#includestdio.h int main() { int a 10; int* p a; printf(%d\n, *p); //修改 *p 200; printf(%d\n, *p); printf(%d\n, a); }小结① 什么是指针指针内存地址② 什么是指针变量呢存储着内存地址的变量③ 指针有什么用呢利用*解引用运算符可以查询数据、存储数据01 指针变量的名字不带*02 指针变量的数据类型要跟指向变量的类型保持一致03 指针变量占用的大小跟数据类型无关跟编译器有关32位4字节64位8字节04 给指针变量赋值的时候不能把一个数值赋值给指针变量指针作用1操作其他函数中的变量#includestdio.h void swap(int* p1, int* p2); int main() { int a 10; int b 20; printf(调用前:%d,%d, a, b); swap(a, b); printf(调用后:%d,%d, a, b); return 0; } void swap(int* p1, int* p2) { int temp *p1; *p1 *p2; *p2 temp; }指针的作用一细节函数中变量的生命周期跟函数相关函数结束了变量也会消失此时在其他函数中就无法通过指针使用了如果不想函数中的变量被回收可以在变量前面加static关键字#includestdio.h int* method(); int main() { int* p method(); printf(%d\n, *p); return 0; } int* method() { static int a 10; return a; }指针的运算指针中数据类型的作用获取字节数据的个数步长指针移动一次的字节个数如int占4个字节char 1 short 2 long 4 long long 8加法指针往后移动了N步 pN减法指针往前移动了N步 p-N