其他语言

本类阅读TOP10

·基于Solaris 开发环境的整体构思
·使用AutoMake轻松生成Makefile
·BCB数据库图像保存技术
·GNU中的Makefile
·射频芯片nRF401天线设计的分析
·iframe 的自适应高度
·BCB之Socket通信
·软件企业如何实施CMM
·入门系列--OpenGL最简单的入门
·WIN95中日志钩子(JournalRecord Hook)的使用

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
C/C++中结构成员运算符(.)和间接成员运算符(->)的运用

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

#include<stdio.h>
int main(void)
{
int i=12;
struct part_date_tag{
  int month;
}pp;
struct part_date_tag *p;
p=&pp;
p=i;
printf("%d\n",&p->month);
getch();
}


#include<stdio.h>
int main(void)
{
int i=12;
struct part_date_tag{
  int month;
}pp;
struct part_date_tag *p;
p=&pp;
p=i;                       
printf("%d\n",&p->month);
                         //因为前面的的赋值语句中是把实例的的地址赋给指针p的,
                        //变量i的值赋给p是把数值存储在p在内存中的地址,在输
                       //出成员moth的结果时,程序就从地址中取出数据来,因此必须加上&符号
}


#include<stdio.h>
int main(void)
{
int i=12;
struct part_date_tag{
  int month;
}pp;
struct part_date_tag *p;
p=&pp;
p->month=i;                //直接把i赋给成员month
printf("%d\n",p->month);  //在输出时如果加上&符号,输出的就是month在内存中的地址了
getch();
}


#include<stdio.h>
int main(void)
{
int i=12;
struct part_date_tag{
  int month;
}pp;
struct part_date_tag *p;
p=&pp;
(*p).month=i;                //由于结构成员运算符(.)的优先级比间接运算符(*)高,因此
                            //必须用圆括号将指针括起来
printf("%d\n",(*p).month); //在输出时也可以写成printf("%d\n",&p->month); 
getch();
}




相关文章

相关软件