黑马程序员技术交流社区
标题:
怎么能彻底搞好指针
[打印本页]
作者:
杨奉泊
时间:
2015-12-6 19:58
标题:
怎么能彻底搞好指针
知道了指针式用来存储变量地址的 每个类型有每个类型的指针 * 是获取指针所指内存地址的值 但是 如果直 int a = 5; int *p = &a printf(“%d”,p)这个对吗 输出的结果是什么啊 而且怎么搞懂什么时候代表什么啊
作者:
konglong
时间:
2015-12-7 00:23
我也想知道
作者:
长厢厮守℡
时间:
2015-12-7 10:47
* 在定义指针变量的时候 是说明符,不是定义指针变量的时候是操作符 &是取地址符,与*是反作用。
作者:
luoye111
时间:
2015-12-7 13:16
指针是存放地址的,运行的时候明显可以看到,指针内容是一组16进制数,长度较长,如果用%d去输出简直不知道是什么玩意,指针说白了就是你是什么类型就要对应什么类型的指针,不然自加自减时含义完全不一样
作者:
alen2015
时间:
2015-12-7 14:01
慢慢来,,,这个需要慢慢理解,,我之前学习的时候对指针和数组是晕乎乎的
作者:
paul20150103
时间:
2015-12-7 20:01
画图去分析 , 好理解
作者:
mackleforeversq
时间:
2015-12-7 20:26
本帖最后由 mackleforeversq 于 2015-12-7 20:28 编辑
这个结果打印的是指针内容,而不是a里数字5如果要打a的值 printf("%d",*p);
这种问题还是建议实际操作一下,最有效果
作者:
Flowerkanzhe
时间:
2015-12-7 21:56
this is a question
作者:
AGHM0312
时间:
2015-12-7 22:04
赞一个,同问you
作者:
能不能行
时间:
2015-12-7 22:46
多用代码加画图
作者:
springD
时间:
2015-12-7 23:29
#include <stdio.h>
int main(){
int a = 5;
int *p = &a;
printf("%d\n",*p);
printf("%p\n",p);
}
打印结果:5
0x7fff5fbff7dc
第一个printf打印的是指针p指向的变量a,变量a的值为5;
第二个printf打印的是指针p本身存储的值,是指向的变量a的地址。
作者:
iOS-lye
时间:
2015-12-8 00:08
这个问题值得好好思考
作者:
黑马。。肖锋
时间:
2015-12-8 07:39
慢慢来,,,这个需要慢慢理解,,我之前学习的时候对指针和数组是晕乎乎的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2