c语言之指针理解一
2015-10-24 22:23
267 查看
1、指针是一种变量,占有内存空间,用来保存内存地址的
void Demo(){
int a = 10;
}
非指针内存图:
定义了一个int型变量,a属于内存区的栈中,给它分配了一个内存地址,该内存空间中存储的类型必须为int,a的值是全局区中的10,这里是10这个数据,而不是10在全局区的内存地址;
void Demo(){
int* p = 10;
}
int:该变量是int型
*:p是指针变量;
该变量的的大小4byte,无论是*p,**p,***p,该变量的大小都是4byte; *只是说明该变量是指针变量;
p存储的是10的内存地址,和int a= 10;的内容是不一样的;p也有自己的内存空间,在当前是被分配与栈中的;
*p:表示p所存储内存地址的空间中的数据,也就是10;
修改p的值只是让p指向不同的对象;
修改*p的值是修改p存储内存地址的数据;
void Demo(){
int a = 10;
}
非指针内存图:
定义了一个int型变量,a属于内存区的栈中,给它分配了一个内存地址,该内存空间中存储的类型必须为int,a的值是全局区中的10,这里是10这个数据,而不是10在全局区的内存地址;
void Demo(){
int* p = 10;
}
int:该变量是int型
*:p是指针变量;
该变量的的大小4byte,无论是*p,**p,***p,该变量的大小都是4byte; *只是说明该变量是指针变量;
p存储的是10的内存地址,和int a= 10;的内容是不一样的;p也有自己的内存空间,在当前是被分配与栈中的;
*p:表示p所存储内存地址的空间中的数据,也就是10;
修改p的值只是让p指向不同的对象;
修改*p的值是修改p存储内存地址的数据;
相关文章推荐
- 关于指针的一些事情
- Lua和C语言的交互详解
- C# Pointer指针应用实例简述
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法
- C++智能指针实例详解
- C语言泛型编程实例教程