当前位置:网站首页>C语言基础篇 —— 2-4 指针的数据类型含义和强制类型转换的解析

C语言基础篇 —— 2-4 指针的数据类型含义和强制类型转换的解析

2022-07-23 13:29:00 Bazinga bingo


指针的数据类型含义

一个指针涉及两个变量: 一个指针变量自己本身,一个是指针变量指向的那个变量

int *p
p(指针变量本身)是int * 类型,*p(指针指向的那个变量)是int类型

int *就是指针类型,只要是指针类型的都是占4个字节,解析方式都是按照地址的方式来解析的。所有的指针类型(不管是int *、char *、double *)的解析方式是相同的,都是地址。

对于指针所指向的那个变量来说,指针的类型很重要。指针指向的那个变量的类型(它所对应的内存空间的解析方法)要取决于指针类型。如指针是int *的,那么指针所指向的变量就是int类型的。

指针和强制类型转换

变量的数据类型含义
所有的类型数据存储在内存中,都是按照二进制格式存储的。所以内存中只有0和1,并不知道是int类型还是double类型。

int、char、short等属于整形,他们的存储当时(转换为二进制存入内存)是相同的,只是内存格子大小不同(所以这几种整形彼此兼容格式)。而float和double的存储方式彼此不同,和整形更不相同。
存进去的时候是按照这个变量本身的数据类型存储的。但是取出来时按照程序员以给定的数据类型进行解析取出。

C语言中的数据类型的本质,就是决定了这个数在内存中怎么存储的问题,也就是决定了这个数如何转成二进制的问题。内存只是个仓库,里面存储的都是1和0,不管里面0和1组合起来是什么意思。

原网站

版权声明
本文为[Bazinga bingo]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_43564241/article/details/125858415