C++学习笔记之指针
2015-10-07 21:22
260 查看
指针我是这么理解,一个是获取了指向指定对象的地址,还有一个是同时也获取了该对象本身的值。
*关键字用于标识是否为指针对象,如:
int y = 5;
int *i = &y;
i就是一个指针变量,如果输出i的值则是一串八位地址符,它代表了y变量所在的内存地址。
如果输出*i则是输出5,因为*i则代表了y变量内存地址对应的实际值即5;
理解指针就必须理解变量的内存地址和实际值的概念,变量定义和赋值后内存会划分一块空间给它,这块空间有独立的编号,在这块空间号里存储该变量赋值的实际值。 如果后续程序的需要对该变量的值进行改变也不会更改它的地址编号,只会改变它的实际值。如这段代码:
int x = 3;
int *const p = &x;
cout << x << "," << &x << endl;
x = 111121;
cout << "指针p的值:" << p << endl;
cout << "指针p指向的值:" << *p << endl;
cout << "整型x的值:" << x << endl;
cout << "整型x的地址:" << &x << endl;
输出的结果是:
3,0044FEF4
指针p的值:0044FEF4
指针p指向的值:111121
整型x的值:111121
整型x的地址:0044FEF4
*关键字用于标识是否为指针对象,如:
int y = 5;
int *i = &y;
i就是一个指针变量,如果输出i的值则是一串八位地址符,它代表了y变量所在的内存地址。
如果输出*i则是输出5,因为*i则代表了y变量内存地址对应的实际值即5;
理解指针就必须理解变量的内存地址和实际值的概念,变量定义和赋值后内存会划分一块空间给它,这块空间有独立的编号,在这块空间号里存储该变量赋值的实际值。 如果后续程序的需要对该变量的值进行改变也不会更改它的地址编号,只会改变它的实际值。如这段代码:
int x = 3;
int *const p = &x;
cout << x << "," << &x << endl;
x = 111121;
cout << "指针p的值:" << p << endl;
cout << "指针p指向的值:" << *p << endl;
cout << "整型x的值:" << x << endl;
cout << "整型x的地址:" << &x << endl;
输出的结果是:
3,0044FEF4
指针p的值:0044FEF4
指针p指向的值:111121
整型x的值:111121
整型x的地址:0044FEF4
相关文章推荐
- C++ 设计模式学习-网站
- C++输入输出
- c语言里‘...’意思是一个参数或者多个参数的意思
- C/C++ INI文件操作
- C/C++中的extern关键字详解
- C++头文件
- strftime()函数,C语言时间格式化
- c语言中地址加法与减法
- C语言的存储类型的个人理解
- c++中xx.h和xx.cpp之间的联系
- 项目34.2-1麻烦的累加涨功夫
- 项目34.1 分数的累加
- C++第三课 语句的输入输出
- C++ 值传递、指针传递、引用传递的区别
- C++函数内大数组导致段错误
- switch中的break控制
- 项目33.2 求阶乘
- C++输出格式
- C++ const用法
- Connecting C++ and XAML