黑马程序员技术交流社区

标题: 关于指针的一个小问题 [打印本页]

作者: yangzeyu    时间: 2015-3-23 21:00
标题: 关于指针的一个小问题
#include <stdio.h>


int main()
{
    char c = 1;
   
    int *p ;
    p = &c;
   
    printf("c的值是%d\n",*p)
   
    return 0;
}
int 后面的*p和括号里面的*p是不是同一个意思,求解。
作者: chenyf    时间: 2015-3-23 21:20
不是, int *p 是定义一个指针变量,  printf("c的值是%d\n",*p) 的* 是取出指针变量 p 指向的那个值
作者: Damson    时间: 2015-3-23 21:21
int * p 是定义一个指针变量名叫p 你也可以理解成int *类型的变量
*p 是取值  
作者: manitowang    时间: 2015-3-23 21:34
不是!看视频就知道了!讲解的很详细!
作者: yangzeyu    时间: 2015-3-23 21:42
视频里面讲的我都知道了,只是有时候还是会被指针搞晕。我心里还是有疑问,但是要我说我现在又说不出来。。好憋屈
作者: hellooc    时间: 2015-3-23 21:55
int *才是p的类型,*p是取值的意思
作者: JiangHG    时间: 2015-3-23 23:02
视频都有讲的,int *p是定义指针变量,*p是去这块内存取数据,
作者: Tigerleis    时间: 2015-3-23 23:23
搞定指针就搞定了C基础咯
作者: 别低头皇冠会掉    时间: 2015-3-23 23:30
楼下说的都很对
作者: JRayln    时间: 2015-3-24 11:04
首先你这样写应该会有警告吧。其次,int *是类型,p是指针类型的变量,p = &c是指向该变量地址,*p是取出该地址的值。
作者: 王卓卓    时间: 2015-3-24 12:02
不是,int后面的*p只是一个定义,*是一个象征,一个标志,没有其他含义;
括号里面的*p,*是指向地址




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2