编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
发新话题
打印

对于指针变量的问题

对于指针变量的问题

#include<stdio.h>
main(void)
{
    int k=2,m=4,n=6,*pk=&k,*pm=&m,*p;
    *(p=&n)=*pk*(*pm);
    printf("%d\n",n);
}
这段代码中的*(p=&n)=*pk*(*pm);理解的不是非常透彻,请高手帮忙详解下,谢啦

TOP

这里解释就是:
把*PK指向的K和*PM指向的M做乘法运算……把结构赋给指向N的*P~!理解了吧!
编程小菜

TOP

乘号和指针符号容易混淆啊
怎么区分

TOP

p = &n表示把n的地址赋给指针p
*pk 表示k的值
*pm 表示m的值
这段意思就是把k*m的值赋给n
只不过是用指针来实现的./这应该是初学习指针时的一个范例.估计你是读不懂=右边第二个*.这其实只是个乘号 .
人生若只如初见/何事秋风悲画扇

TOP

看多了就会上手..说了等于白说是吧!呵呵...
如:*(p=&n)=*pk*(*pm);前"*"后一括号,那指针,在"="后放"*"那也应该是指针,接着先看括号的里面也是指针吧!总没有"*指针"的表达式吧!
主要是整体的看.如:s*=p; 这样一看就知道是乘是吧! 再看如:s=*p.那当然就是指针啰!其实也要结合之前的定义(初始值)的变量.因为通常每个变量都会之前先定义的变量.实践多了就好..暑期下点功夫..


[ 本帖最后由 增劲 于 2008-7-25 20:27 编辑 ]

TOP

这个指针要多看书 多看例子 慢慢的就自然就知道了 建议看看外国贝尔实验室的人出的那些书

TOP

我觉得写这种代码的人好像一定要显示自己比别人强一样的啊。
p=&n;
*p=(*pk)*(*pm);
这样一看就清楚多好啊
MAY 1, 1964 -- The Birth of BASIC
Over 40 years later, it still enables ANYONE to write their own programs.
P.S. 我不是艺术家

TOP

这个“*(*p)”也可以是指向指针的指针啊~~~~~~~~~~~呵呵。但这里不是。。。。

TOP

#include<stdio.h>
main(void)
{
    int k=2,
        m=4,
        n=6,
        *pk=&k,
        *pm=&m,
        *p;

    *(p=&n)=*pk*(*pm);   // p = &n, *p = *pk * (*pm);
    printf("%d\n",n);
}
—>〉Sun〈<—

TOP

发新话题