大一时学过数据结构,感觉掌握的不是很好,决定在这个寒假补补。
指针
& 取地址操作
* 去引用操作
下面贴段代码:
#include<stdio.h>
int main(){
double i=1.0;
double i1=2.0;
double *p;
//32位运行平台下指针本身所占的空间是4个字节,用来存放指向数据的地址
printf("size of p is %d\n",sizeof(p));
p=&i;
printf("i...\n");
//指针本身的地址
printf("&p=%x\n",&p);
//指针指向的地址
printf("p=%x\n",p);
printf("&i=%x\n",&i);
//输出数据
printf("*p=%lf\n",*p);
printf("i=%lf\n",i);
p=&i1;
printf("i1...\n");
//更改指向后指针本身的地址不变
printf("&p=%x\n",&p);
//指针指向的地址改变了,即指针里的数据改变了
printf("p=%x\n",p);
//输出数据
printf("*p=%lf\n",*p);
printf("i1=%lf\n",i1);
//指针可以想加减
//这里计算一下i和i1两个变量的地址隔了几个单位,这里的单位根据数据类型而定
printf("%d\n",&i-p);
//p的大小是4,而p指向的变量i1的大小是8,所以*p的大小是8
printf(