指针

计算机位数基本知识:
32位:32根地址线/数据线 正电(0)和负电(1)
32个二进制作为可能性一共2^32种
比如:
00000000000000000000000000000001=1
所对应的是为1的地址
每个小区域(小分区)为1字节

查看变量地址

用%p输出&a的地址
具体代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int main(){
int a = 10;
printf("%d\n", a);
printf("%p\n", &a); //输出a的地址 010FFA38 所得为16进制地址
return 0;
}
int p = &a;//p用来存放地址 p,p为指针变量(指针)即地址存到p中
printf("%p\n", &a);
printf("%p\n", p); 两个打印结果相同
:解引用操作符:
*p = 20;//即为把20赋给a
具体代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int main(){
int a = 10;
int p = &a;
printf("%d\n", a);//10
p = 20; //a=20
printf("%d\n", a);//20
printf("%d\n", p);//20
return 0;
}
注意:
什么类型的变量与地址类型是对应的
int a; int
p=&a;
char ch; char *p=&ch;

指针变量的大小

在32位中每个指针变量都是32个bit即4个字节
所以:
int a = 10;
int *p = &a;
printf("%d\n", sizeof(p)); //输出为4且无论是int char......都是4
64位指针大小就是8个字节

©著作权归作者所有:来自51CTO博客作者谢什么驰的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. IP地址与子网的作用和组成
  2. IP地址简介与配置
  3. MAC地址表和ARP表分别是什么?
  4. 只要两步,用Python将地址标记在地图上!
  5. 从零到一学懂区块链(3):地址
  6. 对比 C++ 和 Python,谈谈指针与引用
  7. 一文多图带你看看如何用「对撞指针」思想巧解数组题目
  8. 20张图!3个视频!一文带你搞定「快慢指针」在数组中的应用
  9. 短小精悍,双指针对撞,求解「两数之和 II」

随机推荐

  1. Android权限大全
  2. Android studio maven pom.xml
  3. android 获取mac地址
  4. Android单元测试时如何使用log查看输出结
  5. Android(安卓)开发(六)C2DM 云端推送
  6. Android 字体颜色渐变效果 Span实现
  7. android图片缩放手势检测类--ScaleGestur
  8. Android 执行Shell命令
  9. android 通过webservice方式向服务器上传
  10. Android中自定义Dialog常用的两种方式