黑马程序员技术交流社区
标题:
怎么才能学好指针啊,
[打印本页]
作者:
qq230546
时间:
2016-5-25 22:44
标题:
怎么才能学好指针啊,
感觉我的逻辑思维好弱,好累好累,求教得通俗!在线等!!
作者:
qq230546
时间:
2016-5-26 00:09
作者:
vvard3n
时间:
2016-5-26 00:43
画画图,搞不清楚的时候画图可以很快理解
作者:
18910289908
时间:
2016-5-26 04:35
其实指针就是指向某一个变量或区域的方法,你就记住它是用来指东西的就行,要么是地址,要么是属性,具体看程序想要它实现的功能。
作者:
18910289908
时间:
2016-5-26 04:38
其实指针就是指向某一个变量或区域的方法,你就记住它是用来指东西的就行,要么是地址,要么是属性,具体看程序想要它实现的功能。
1. 指针是什么?
是一个数据类型,用来存储地址
2. 有什么作用?
可以间接访问变量的值
3. 怎么用?
1)如何声明
int* p;
以后碰到*, 就意味着有指针
猜测
2)如何赋值
int a;
int* p = &a;
printf("%p\n",&p);
int* p;
开辟一块空间,用来存储地址,并且明确指出了存储的地址,所保存的数据的类型是int
3)如何间接访问变量的值
* 取内容
& 取地址
取指针指向的地址的内容
int a;
int* p = &a;
*p = 100;
int a = 10;
int* p1 = &a;
int* p2 = p1;
*p1 = *p1 + 1;
*p2 = *p2 + 1;
函数的调用类型
1) 传值调用 -》数值
2) 传址调用 -》地址 数组 字符串 指针
int a = 10;
int* p = &a;
&p;
多级指针
1) 定义
当一个指针,指向另一个指针的时候,就存在多级指针
2)作用
可以间接访问另一个指针
3)怎么用
int a = 10;
int* p1 = &a;
int** p2 = &p1;
int*** p3 = &p2;
int**** p4 = &p3;
****p4 = 1567;
指针之间的减法
1、 指针和指针做减法,实际上失去offSet,只能相减,不能相加
2、 计算两个元素之间相差了多少个元素。
3、一个指针 ,可以通过offset 找到另一个指针
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2