C语言 ---- 指针 iOS学习-----细碎知识点总结
内存的访问形式:1、直接访问:通过变量名进行访问。2、间接访问:先找到变量存放的地址,然后根据地址去访问对应的内存空间。 指针--- // 定义一个整形指针变量,用来存储num1在内存中的地址 int *p = NULL; // 定义一个整形指针变量,指向0x0,NULL恒等于0 printf("%p\n", p); // 输出指针变量的值,使用"%p" printf("&num1 = %p\n", &num1); // 取址运算符,取得变量所在的内存地址 p = &num1; // 给整形指针变量重新赋值 printf("p = %p\n", p); printf("*p = %d\n", *p); // "*"取值运算符,取出地址里面存储的数据 // 当我们定义指针变量的时候,"*"只是起一个标识作用,告诉我们这个变量是一个指针变量。 // 当我们使用指针变量的时候,"*"表示的是从当前地址里面取出存储的数据。 // 指针的算术运算,只有加和减 int num1 = 100; int num2 = 200; int *p = &num2; printf("*p = %d\n", *p); printf("*(p + 1) = %d\n", *(p + 1)); // p + 1是指针向高位移动n个字节,n指的是指针指向的数据类型所占有的字节数(int *p移动4个字节,