| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1414 人关注过本帖
标题:大一菜鸟关于指针的一个小困惑。
只看楼主 加入收藏
北冥有鱼:
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2017-10-12
结帖率:45.45%
收藏
已结贴  问题点数:13 回复次数:5 
大一菜鸟关于指针的一个小困惑。
  按照规定定义一个指针变量需要表明它指向单元的类型,如int double等。
例如  int a
&a 包含了变量a的纯地址和数据类型,但是&a 终究只是一串十六进制数字而已,这串数字已经把a交代清楚了。
那把地址也就是这串数字 直接交给 指针变量不是就好了,前面注明指向单元的类型是不是有点多此一举,

搜索更多相关主题的帖子: 指针 困惑 变量 int 数字 
2018-03-13 20:46
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10538
专家分:42927
注 册:2014-5-20
收藏
得分:2 
“指针”只是一个变量名,它要表达的主要方面有:存放数据的地址(地址属性)和存放数据的数据类型(大小属性)。
2018-03-13 21:06
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:5 
听说,C语言是强类型语言,然而PHP是属于弱类型语言,也就是说变量类型是可以忽略的,这当然说明了不定义数据类型也可以实现~

你如果有兴趣的话或者可以试试设计一个编译器这样用:

int s;    //定义一个数据类型int变量s
*p=s;    //定义一个*p指向s
*p=3;   //对*p进行赋值~
*p='a';  //同上对p进行赋值~

printf("%u\n",sizeof (*p));    //猜猜运行结果是啥~

~


[此贴子已经被作者于2018-3-13 21:23编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2018-03-13 21:15
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:5 
“但是&a 终究只是一串十六进制数字而已,这串数字已经把a交代清楚了” ----- 这句话听不懂

你是不是想让
int a = 0;
int* p = &a;
中第二个int省略掉?C++中是可以的,写成
int a = 0;
auto p = &a;
2018-03-14 08:38
北冥有鱼:
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2017-10-12
收藏
得分:0 
回复 4楼 rjsp
  有些书上这么写的:
  int p // 定义一个整型变量
  int a=&p//在指针是32位前提下,把p的地址交给a
 printf("%0x",a)
 
最后会得到一串数字,也就是变量p的指针。所以在我目前的认知中指针就是一串数字。

还有您说的那个第二个int省略,也是我的困惑,看到楼上回答我在想是不是因为c是强类型语言,这么写是  规定!没有为什么。

现在感觉很困惑,指针到底是什么
2018-03-14 08:57
童生
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:205
专家分:455
注 册:2018-3-7
收藏
得分:1 
回复 5楼 北冥有鱼:
你的理解在某些角度也是可以,
程序代码:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    double x=12346.1700;
    void *p;
    double *p1;
     
     p= &x;
     p1 = &x;
    printf("&x = %0x\n",&x);
    printf("p = %0x\n",p);
    printf("p1 = %0x\n",p1);
    

    printf("*((double*)p) = %f\n",*((double*)p));
    printf("*p1 = %f\n",*p1);
    
return 0;
}
2018-03-14 18:11
快速回复:大一菜鸟关于指针的一个小困惑。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015373 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved