关于指针

使用常规变量是,值是指定的量,地址是派生的量。处理存储数据的新策略刚好相反,将地址值是为指定的量,而将值视为派生量,一种特殊类型的变量--指针,用于存储值得地址。因此,指针名表示的是地址,*运算符被称为间接值或者解除引用运算符,将用于指针,可以得到该地址处存储的值(这和乘法使用的符号相同;C++将根据上下文来确定所指定的是乘法还是解除引用)。


#include<iostream>
#include<stdlib.h>
#include<string.h> 
using namespace std;
int main()
{
int nlen=10;
/*
* 定义一个指针变量nplen,
* * (间接值运算符或者解除引用运算符),可以应用于指针
*/ 
int*nplen;
nplen=&nlen;
//值10有两种表示方式
cout<<nlen<<endl; 
cout<<*nplen<<endl;
//地址值有两种表示方式
cout<<nplen<<endl;
cout<<&nlen<<endl; 

//通过指针修改变量
*nplen=20;
cout<<nlen<<endl;
cout<<*nplen<<endl;

//通过变量修改指针
nlen=30;
cout<<nlen<<endl;
cout<<*nplen<<endl; 
 
cin.get();
cin.get();
return 0; 

int 变量nlen和指针变量nplen只不过是一个硬币的两个面,变量nlen表示值,并使用&运算符来获取地址;而变量nplen表示地址,并使用*运算符来获取值。由于nplen指向nlen,因此*nplen和nlen是完全等价的。可以像使用nlen变量那样使用*nplen。甚至可以将值付给*nplen,这样将修改指向的值,即nlen;


判断2个数值是否存储在两个连续的内存地址

#include<iostream>
#include<stdlib.h>
#include<string.h> 
using namespace std;
int main()
{
int a=5;
  double b=6.0;
cout<<&a<<endl;
cout<<&b<<endl; 
 
cin.get();
cin.get();
return 0; 

发布了11 篇原创文章 · 获赞 0 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览