小人物

精益求精
posts - 3, comments - 0, trackbacks - 0, articles - 0

思考了一点点指针和地址的关系

Posted on 2009-10-21 16:59 阅读(384) 评论(0)  编辑 收藏 引用 所属分类: 每日一练
#include<iostream.h>
#include<string.h>
void main()
{
 char tt[]={'t','e','f'};
 int f=10;
 /*cout<<strlen(tt)<<endl;
 cout<<&tt<<endl;
 cout<<&tt+1<<endl;
 cout<<sizeof(((&tt+1)-&tt))<<endl;
 cout<<sizeof(int)<<endl;
 cout<<sizeof(char)<<endl;
 for(int i=0;i<strlen(tt);i++)
   cout<<&tt[i]<<"\n";
    cout<<endl;
    for(char i=0;i<strlen(tt);i++)
   cout<<(&tt)+i<<" "<<*((&tt)+i)<<endl;
    cout<<endl; */
 char *p;
 cout<<"未进行指向前指针p的地址:"<<&p<<endl;
 int *x;
 cout<<"未进行指向前指针x的地址:"<<&x<<endl;
 x=&f;
 p=tt;  //将tt中的内容复制到p的内容中去 ,而不是将tt的地址复制到p的内容中去(应该是一种其他的映射机制而不是复制----这样太浪费计算机的速度)
 cout<<"字符串的地址:"<<&tt<<endl; //显示的字符串的地址
 cout<<"进行指向后指针p的地址:"<<&p<<endl;
 cout<<"显示指针p的内容:"<<p<<endl; //显示的是这个指针指向的内容
 cout<<"指针x的内容:"<<x<<endl;
 cout<<"f的地址:"<<&f<<endl; //显示f的地址
 cout<<"进行指向后指针x的地址:"<<&x<<endl;// 显示指针x的地址  通过这个可以说明指针在没有被指向的时候是有地址的
 p[0]='q';
 cout<<&p<<endl;
 cout<<*p<<endl;
}//通过这个例子知道指针在声明的时候就有一个地址;
 //指针指向的必须是地址(这个是根据指针前面的类型符号来判断的--好像是)
 //指针的"内容"就是指向的值,比如 x指针的内容就是f的内容;这样做的目的是为了减少建立临时变量的麻烦 1 指针===矢量

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理