黑马程序员技术交流社区
标题:
C语言难点指针总结
[打印本页]
作者:
zhangmeng
时间:
2015-8-25 08:05
标题:
C语言难点指针总结
指针总结
指针的本质就是一个能存地址的数据类型,其包含这个地址,同时含有一个步长信息
步长:就是加一或减一时移动的字节数.
用法:
定义
指针类型 *指针名;
赋值
指针名=地址;
操作
1.对指针的操作--根据类型确定字节数
1.向高位移动(+) :如:p+1(p不变),++p(p变化);
2.向低位移动(-) :如:p-1;--p;
2.对指针所指空间的操作
1.取值 如:*p
2.赋值 如:*p=值
应用场景:
1.指针与基本数据类型(int char double float)
应用举例:
定义:int *p;
赋值:int a=1; p=&a;
操作:
1.对指针的操作
*对数据本身无意义.(越界了)
2.对指针所指空间的操作
1.取值
int b=*p;
2.赋值
*p=3;
2.指针与构造数据类型中的用法(数组, 结构体)
数组
应用举例:
int arr[3]={1,2,3};
方法一:用首元素的指针(*推荐)指针运算方便.
定义赋值:
int *p=arr;或者:int *p=&arr[0];
操作:
1.对指针操作:
1.向高位移动(+): p+1(p不变),++p(p变化);
2.向低位移动(-): p-1,--p;
2.对指针所指空间的操作
1.取值:
取当前位的值: *p或p[0];
取下一位的值: *(p+1);或p[1](等效于:arr[当前角标+1]);
作者:
tr2e
时间:
2015-8-25 10:38
有用的笔记 感谢lz分享
作者:
唐肖虎
时间:
2015-8-25 10:42
感谢楼主的分享,很有用啊!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2