int main()
{
int updates=; //定义int变量updates
int * p_updates; //定义指针p_updates
p_updates=&updates;//将updates的地址赋给指针p_upfates cout<<"value:update="<<updates<<endl; //updates=6
cout<<"*p_updates="<<*p_updates<<endl; //*p_updates为地址中存储的值 即6 cout<<"address:&updates="<<&updates<<endl; //&update 取地址
cout<<"p_updates="<<p_updates<<endl; //p_updates 地址值 *p_updates=*p_updates+; //地址中存储的值加1 即6+1=7
cout<<"now updates="<<updates<<endl; //update=7
system("pause");
return ;
}

 int main()
{
int higgens=;
int *pt=&higgens; cout<<"value of higgens="<<higgens<<endl; //
cout<<"address of higgens="<<&higgens<<endl; //地址
cout<<"value of *pt="<<*pt<<endl; //
cout<<"value of pt="<<pt<<endl; //地址
system("pause");
}

 int main()
{
double * p3=new double [];//定义一个double类型的指针
p3[]=0.2;
p3[]=0.5;
p3[]=0.8;
cout<<"p3[1] is"<<p3[]<<endl; //p3当做数组名使用,p3[1]为第二个元素
p3=p3+;//修改指针的值,+1之后p3[0]指向的是之前的第二个值
cout<<"now p3[0] is"<<p3[]<<endl;
cout<<"p3[1] is"<<p3[]<<endl;
p3=p3-; //为delete []提供正确的地址
delete [] p3; system("pause");
return ;
}

 int main()
{
double wages[]={10000.0,20000.0,30000.0};
short stacks[]={,,};
double *pw=wages;
short *ps=&stacks[]; cout<<"pw="<<pw<<",*pw="<<*pw<<endl;
pw=pw+;
cout<<"pw="<<pw<<",*pw="<<*pw<<endl;
cout<<"ps="<<ps<<",*ps="<<*ps<<endl;
ps=ps+;
cout<<"ps="<<ps<<",*ps="<<*ps<<endl;
cout<<"stacks[0]="<<stacks[]<<",stacks[1]="<<stacks[]<<endl;
cout<<"*stacks="<<*stacks<<",*(stacks+1)="<<*(stacks+)<<endl; cout<<sizeof(wages)<<"=size of wages array"<<endl;//数组长度 3*8=24
cout<<sizeof(pw)<<"=size of pw pointer"<<endl; //指针长度 4 在32位机上,所有指针类型变量占用内存字节数都为4 ,64位机指针占用的内存大小为8个字节
system("pause");
return ;
}

指针 * &的更多相关文章

  1. TODO:Golang指针使用注意事项

    TODO:Golang指针使用注意事项 先来看简单的例子1: 输出: 1 1 例子2: 输出: 1 3 例子1是使用值传递,Add方法不会做任何改变:例子2是使用指针传递,会改变地址,从而改变地址. ...

  2. enote笔记法使用范例(2)——指针(1)智能指针

    要知道什么是智能指针,首先了解什么称为 “资源分配即初始化” what RAII:RAII—Resource Acquisition Is Initialization,即“资源分配即初始化” 在&l ...

  3. C++虚函数和函数指针一起使用

    C++虚函数和函数指针一起使用,写起来有点麻烦. 下面贴出一份示例代码,可作参考.(需要支持C++11编译) #include <stdio.h> #include <list> ...

  4. C++11 shared_ptr 智能指针 的使用,避免内存泄露

    多线程程序经常会遇到在某个线程A创建了一个对象,这个对象需要在线程B使用, 在没有shared_ptr时,因为线程A,B结束时间不确定,即在A或B线程先释放这个对象都有可能造成另一个线程崩溃, 所以为 ...

  5. c 数组与指针的使用注意事项

    数组变量和指针变量有一点小小的区别 所以把数组指针赋值给指针变量的时候千万要小心 加入把数组赋值给指针变量,指针变量只会包含数组的地址信息 而对数组的长度一无所知 相当于指针丢失了一部分信息,我们把这 ...

  6. Marshal.Copy将指针拷贝给数组

    lpStatuss是一个UNITSTATUS*的指针类型实例,并包含SensorDust字段 //定义一个数组类型 byte[] SensorDust = new byte[30] //将指针类型拷贝 ...

  7. C++智能指针

    引用计数技术及智能指针的简单实现 基础对象类 class Point { public: Point(int xVal = 0, int yVal = 0) : x(xVal), y(yVal) { ...

  8. EC笔记:第三部分:17、使用独立的语句将newed对象放入智能指针

    一般的智能指针都是通过一个普通指针来初始化,所以很容易写出以下的代码: #include <iostream> using namespace std; int func1(){ //返回 ...

  9. 智能指针shared_ptr的用法

    为了解决C++内存泄漏的问题,C++11引入了智能指针(Smart Pointer). 智能指针的原理是,接受一个申请好的内存地址,构造一个保存在栈上的智能指针对象,当程序退出栈的作用域范围后,由于栈 ...

  10. 智能指针unique_ptr的用法

    unique_ptr是独占型的智能指针,它不允许其他的智能指针共享其内部的指针,不允许通过赋值将一个unique_ptr赋值给另一个unique_ptr,如下面错误用法: std::unique_pt ...

随机推荐

  1. JDK内置工具jstack(Java Stack Trace)(转)

    1.介绍 jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的js ...

  2. linux find 命令查找 复制

    find 查找 find . -mtime -2 -a -path './.git*' -prune , -path './Cache' -prune -a -exec cp {} one \; rm ...

  3. react map 遍历

    1.map方法 注:map 返回的是一个新数组 class App extends Component { // constructor(props) { // super(props); // th ...

  4. UVA 11246 - K-Multiple Free set(数论推理)

    UVA 11246 - K-Multiple Free set 题目链接 题意:一个{1..n}的集合.求一个子集合.使得元素个数最多,而且不存在有两个元素x1 * k = x2,求出最多的元素个数是 ...

  5. Androidclient验证Licence的原理

    需求 限制App的使用,使App仅仅能在有许可的设备上执行. 分析及解决方式 原理 让App在每次执行的时候都连接server进行合法性验证--当然是一个非常成熟可靠的方案. 可是这样做的局限也是每次 ...

  6. 手动编译一个c文件(Win7下如何使用GCC编译器)

    主要参考这篇http://jingyan.baidu.com/article/c275f6bacc0126e33c756771.html 我没找到minGW的下载地址,而是直接用codeblocks自 ...

  7. 2015-03-12---外观模式,建造者模式(附代码),观察者模式(附代码),boost库应用

    今天白天主要看了boost库的应用,主要是经常使用的一些库,array,bind,function,regex,thread,unordered,ref,smartpointers库,晚上看了看设计模 ...

  8. Animated progress view with CAGradientLayer(带翻译)

    Animated progress view with CAGradientLayer(带翻译)  Modern software design is getting flatter and thin ...

  9. java使用默认线程池踩过的坑(三)

    云智慧(北京)科技有限公司 陈鑫 重新启动线程池 TaskManager public class TaskManager implements Runnable { -.. public TaskM ...

  10. ASP.NET MVC判断基于Cookie的Session过期

    当我们第一次请求访问时,可以看到Response的Set-Cookie里添加了ASP.NET_SessionId的值,以后再访问时可以看到Resquest里的Cookie已经包含这个Key.   Se ...