重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

C语言中指针类型的意义-创新互联

对于C内置的数据类型:int、char、float...
不同类型所占内存不同,不同类型的值在计算机中存储和读取的方式也不同

创新互联公司是一家做网站、成都网站制作,提供网页设计,网站设计,网站制作,建网站,按需求定制开发,网站开发公司,成立于2013年是互联行业建设者,服务者。以提升客户品牌价值为核心业务,全程参与项目的网站策划设计制作,前端开发,后台程序制作以及后期项目运营并提出专业建议和思路。

但是对于指针的类型:int*、char*...
无论哪种类型的指针他们的值都是一种类型:地址编号,那么在计算机中的存取方式也是相同的
所占的内存大小在同一架构下也都是一样的(4or8字节),那么指针还分那么多的类型的意义是什么呢?

意义有两个:
 1.不同类型的指针,在解引用时访问的内存大小不同
 如:int a; char* p=(char*)&a;
&a本身是一个int*的类型,但通过强制类型转换赋值给char*类型的指针p
那么解引用时,*p这个操作只能访问变量a中的一个字节,而a本身是有四个字节的内存空间
关于访问的是a所占的四个字节中的哪一个字节,这与大小端字节序存储有关,此处不详谈

 2.不同类型的指针,决定了指针±整数时跨越的步长(多少字节)
一般情况下,我们都会将指针类型与其所指向的数据类型对应
如int型的变量,存储其地址的指针,一般定义为int*类型
这样做的好处是,在连续的内存空间中,指针±整数时,指针就会指向下一个元素的地址

以上就指针类型的意义,可以灵活的控制要访问一个数据中的多少内存
          当指针类型与其所指向的数据类型对应时,可以在连续的内存空间中指向程序员想指的元素

这也是为什么C语言强大的原因之一,灵活度非常高

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


标题名称:C语言中指针类型的意义-创新互联
分享URL:http://cqcxhl.cn/article/djcgig.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP