当前位置: 首页 > news >正文

wp在本地做的网站 上传网易企业邮箱

wp在本地做的网站 上传,网易企业邮箱,http网站防劫持怎么做,学装修设计去哪里学目录 一、内存和地址 二、指针变量和地址 三、指针变量类型的意义 一、内存和地址 只要讲指针就离不开内存 因为指针就是访问内存的 计算上CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的,处理后的数 据也会放…

目录

一、内存和地址

二、指针变量和地址

三、指针变量类型的意义


一、内存和地址

只要讲指针就离不开内存

因为指针就是访问内存的

计算上CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的,处理后的数
据也会放回内存中,那我们买电脑的时候,电脑上内存是8GB/16GB/32GB等,那这些内存空间如何高效的管理呢?
其实也是把内存划分为⼀个个的内存单元,每个内存单元的大小取1个字节
计算机常见单位
bit - ⽐特位
byte - 字节
KB
MB
GB
TB
PB1byte = 8bit
1KB = 1024byte
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB

内存单元编号==地址==指针

二、指针变量和地址

CPU访问内存中的某个字节空间,必须知道这个字节空间在内存的什么位置,⽽因为内存中字节很多,所以需要给内存进⾏编址(就如同宿舍很多,需要给宿舍编号⼀样)。计算机中的编址,并不是把每个字节的地址记录下来,⽽是通过硬件设计完成的。
⾸先,必须理解,计算机内是有很多的硬件单元,⽽硬件单元是要互相协同⼯作的。所谓的协同,⾄少相互之间要能够进⾏数据传递。但是硬件与硬件之间是互相独⽴的,那么如何通信呢?答案很简单,⽤"线"连起来。⽽CPU和内存之间也是有⼤量的数据交互的,所以,两者必须也⽤线连起来。不过,我们今天关⼼⼀组线,叫做地址总线。
32位机器有32根地址总线, 每根线只有两态,表⽰0,1【电脉冲有⽆】,那么 ⼀根线,就能表⽰2种含义,2根线就能表⽰4种含义,依次类推。32根地址线,就能表⽰2^32种含义,每⼀种含义都代表⼀个地址。地址信息被下达给内存,在内存上,就可以找到该地址对应的数据,将数据在通过数据总线传⼊CPU内寄存器。
int main()
{
int a = 10;//创建变量的本质是向内存申请一块空间,为a申请4个字节的空间return 0;
}

指针变量和解应用操作符

int main()
{int a = 10;//&a --- &取地址操作符//& 单目操作符printf("%p\n",&a);return 0;
}
//指针--地址
//指针变量--存放地址的变量int main()
{int a = 10;//&a --- &取地址操作符//& 单目操作符//printf("%p\n",&a);int* p = &a;//p是一个变量(指针变量),是一块空间//编号-地址-指针//int说明p指向对象是int类型的//*在说明p是指针变量
return 0;
}
int main()
{char ch = 'w';char* pc = &ch;return 0;
}
int main()
{int a =10;int * p= &a;*p =0;//* -解引用操作符(间接访问操作符)//a =0;】//*&a = 0;//a = 0
printf("%d",a);//0?return 0;
}

指针变量的大小

32位机器假设有32根地址总线,每根地址线出来的电信号转换成数字信号后是1或者0,那我们把32根地址线产⽣的2进制序列当做⼀个地址,那么⼀个地址就是32个bit位,需要4 个字节才能存储。
如果指针变量是⽤来存放地址的,那么指针变的⼤⼩就得是4个字节的空间才可以。同理64位器,假设有64根地址线,⼀个地址就是64个⼆进制位组成的⼆进制序列,存储起来就需要8个字节的空间,指针变的⼤⼩就是8个字节。
指针变量 - 存放地址的
                  地址产生:地址线上传输的
                   32根地址线 ——>地址是:32个0/1组成的二进制序列
                   要储存这样的地址:32bit位的空间 ==4个字节
int main(){printf("%zd\n", sizeof(char *));printf("%zd\n", sizeof(short *));printf("%zd\n", sizeof(int *));printf("%zd\n", sizeof(double *));return 0;}

结论:
32位平台下地址是32个bit位,指针变量⼤⼩是4个字节
64位平台下地址是64个bit位,指针变量⼤⼩是8个字节
注意指针变量的⼤⼩和类型是⽆关的,只要指针类型的变量,在相同的平台下,⼤⼩都是相同的。

三、指针变量类型的意义

指针类型决定了指针进行解应用操作符的时候访问几个字节,也就是决定指针的权限

int main()
{ int a = 0x11223344;int * pa = &a;*pa =0;return 0;
}

//代码1
#include <stdio.h>
int main()
{int n = 0x11223344;int *pi = &n; *pi = 0; return 0;
//代码2
#include <stdio.h>
int main()
{int n = 0x11223344;char *pc = (char *)&n;*pc = 0;return 0;
}
调试我们可以看到,代码1会将n的4个字节全部改为0,但是代码2只是将n的第⼀个字节改为0。
结论:指针的类型决定了,对指针解引⽤的时候有多⼤的权限(⼀次能操作⼏个字节)。
⽐如: char* 的指针解引⽤就只能访问⼀个字节,⽽ int* 的指针的解引⽤就能访问四个字节。

指针+-整数

int main()
{int a =10;int *pa = &a;char* pc = &a;printf("pa=%p\n",pa);printf("pa+1 = %p\n",pa+1);printf("pc = %p\n",pc);printf("pc+1 = %p\n",pc+1);return 0;
}

指针类型决定了指针进行+1,-1的时候,一次走远的距离

int * +1 --->走4个字节(整型大小)

char* +1--->走了1个字节(字符大小)

完整版:【C语言】指针(1)入门理解完整版

http://www.dinnco.com/news/21737.html

相关文章:

  • wordpress about meseo实战密码在线阅读
  • 手机wap网站免费制作在线网络培训平台
  • 网站建设维护概括总结电商培训机构哪家强
  • 白银价格seo排名软件怎么做
  • 找谁做网站优化郑州网站建设制作
  • 做搜狗手机网站持续优化完善防控措施
  • 佛系汉化组.wordpress com网站优化员seo招聘
  • 苏州做网站的公司排名经典软文广告案例
  • 嘉兴企业网站开发百度pc网页版登录入口
  • 南昌建设人才网站合肥网站推广优化
  • 做家务的男人免费观看网站广告投放平台公司
  • 重庆seo网站策划怎么做好销售
  • 途牛旅游网站建设目的百度公司地址
  • 网站怎样多语言做营销型网站哪家好
  • 网站建设前期策划方案百度官网下载安装
  • 电子商务网站开发成本网店运营与推广
  • 怎么在网站里做网页企业网络营销青岛
  • 南京品牌网站开发模板郑州网站设计
  • 做那个免费视频网站实体店营销方案
  • 上海网站建设官网营销型网站建设哪家好
  • 关于网站建设的销售技巧免费发布信息网站大全
  • 电子商务大型网站建设谷歌浏览器下载安装2022
  • 做软件贵还是做网站贵百度相册登录入口
  • 使用django做网站文娱热搜榜
  • 合肥高端网站开发关键词排名点击软件工具
  • wordpress 七牛云加速同仁seo排名优化培训
  • icp备案网站名称谷歌外链工具
  • 利用excel做填报网站seo优化公司排名
  • 朗坤智能企业管理系统九江seo优化
  • 做建材去什么网站企业网络营销推广案例