指针变量为什么要定义类型(C语言中,定义指针时为什么前面是类型)

本文目录
- C语言中,定义指针时为什么前面是类型
- C语言为什么定义变量的时候要定义类型
- 为什么定义指针变量时要定义其类型
- 对于指针变量必须定义类型,才能使用对吗判断
- 为什么在申明指针变量时要说明变量类型
- 单链表中为什么要定义一个结构体类型的指针
- c++ 指针为什么需要声明类型呢他存放的不都是地址吗
- C语言为什么定义变量的时候要定义类型为什么要这样
- c语言 指针概念问题
C语言中,定义指针时为什么前面是类型
int i = 2;//普通整型变量
int *p = &i//定义同时初始化, 把i的地址赋给p
等价于:
int *p;//声明指针变量p
p = &i//把i的地址赋给p
详细说明:
int *p;中,
int * --》 指针变量p的类型.
int --》 指针变量p指向的类型.
* --》 定义指针变量的标识符, 另外也是指针的一个操作符,即,取地址值.
记住: 指针也是变量, 只不过它的值是另外一个变量的地址, 而在定义时要在指针名前加*号以区别于普通变量, 注意,定义或者声明指针变量时指针名前的*号一定不能少!
C语言为什么定义变量的时候要定义类型
定义完了类型才能给他分配空间,要不然会有空间浪费.而且不先定义类型,可能导致单精度和双精度之间进行计算之类的问题,对精度有误差影响等等.
为什么定义指针变量时要定义其类型
虽然所有的指针都只占四个字节,但不同类型的变量却占不同的字节数。
一般来说,int占四个字节,char占一个字节.
如果定义指针变量不定义类型,那么它在取*也就是取其中的值的时候,就不知道应该读取几个字节。
而定义了类型之后。如果是int型的就读四个字节,char型的就读一个字节。
对于指针变量必须定义类型,才能使用对吗判断
对,指针变量必须定义类型,才能使用.
指针变量用于指向地址,常常用到指针+1, 这个+1, 不是加1个字节,而是 +sizeof(指针变量类型), 可见 定义类型 很重要,不知道类型,就没法做指针运算。
为什么在申明指针变量时要说明变量类型
概念理解错误。
指针本身是4个字节。但是指针可以指向不同的内存区域。
一个是指针本身,一个是指针指向的内存。
指针本身在内存中占4个字节。
单链表中为什么要定义一个结构体类型的指针
本回答参考以下网页网页链接
链表的每个节点的指针指向的是与该链表结构一样的节点。打个比方,指向int的,指针类型是int型指针变量。
链表定义的结构体,就是描述链表结构中节点的组成。定义的指针呢,是种嵌套,指向结构体本身。而结构体是一种数据类型,而不是具体的一个变量。所以这里可以理解为定义的指针指向的是,该链表的某个节点
希望能为你解答疑惑!另外推荐系统学习数据结构,并且用语言实现一下。对于语言理解也有所好处
c++ 指针为什么需要声明类型呢他存放的不都是地址吗
指针存放的是地址,但是需要声明类型。"类型"规定了指针的解释方式,例如int *p; char *q;
p为整形指针,q为字符型指针。用new分配内存时,分别会分配4个和1个字节;而操作时,如增运算,步长分别是4和1.即p+1,q+1的步长不同,设p=0000,q=0000,则p+1的值为0004,q+1的值为0001。
总之,类型是指针的属性,定义了指针的解释方式,系统按该定义进行相关操作! 更深的理解可以到csdn上查查,好好学习,天天向上。
C语言为什么定义变量的时候要定义类型为什么要这样
数据类型的出现是为了把数据分成所需内存大小不同的数据
不事先声明类型的话就不能确定分配多少内存来存储数据
c语言 指针概念问题
我把我的理解跟你说下吧。
int *p; //在定义(或者声明)指针变量时,变量p前面的“*”只是用来说明变量p是个指针变量而不是一个整型变量,int是指这个指针变量指向的是int类型的内存地址,指针本质上就是地址,任何类型的指针变量在内存中都是占用4个字节的存储空间的(即32位二进制数),既然指针变量存放的地址值都是32位的,那为什么还要区分类型呢?这是为了方便指针变量的运算。举例说明,
int *pn; //定义了一个指向整型的指针变量
char *str; //定义了一个指向字符型的指针变量
//假设,pn和str的初始值都是0x1000
pn++; //pn自增加1,pn的值为0x1004,因为int类型是占4个字节的,指向了下一个int类型的内存首地址
str++; //str自增加1,str的值为0x1001,因为char类型是占1个字节的,指向了下一个char类型的内存首地址
那么,从上面的例子,我们就可以知道,指针变量前面加上类型,是为了方便指向该类型的变量的内存空间,那么就可以通过该类型的指针变量来访问它所指向的内存空间的数据。
int*类型的含义是:变量p是指针变量名,而不是*p这个整体,*在定义指针变量的时候只是起说明的作用,int*不是一个整体,这点你要记住,说p是int*型指针,是为了方便而简写的形式,这里的*只起一个标记说明的作用而已,每定义一个int类型的指针变量,前面都要加*。
int *p,*q; //定义了两个指向整型变量的指针变量
int *p,q; //p是指针变量,而q是普通的变量
希望对你理解有所帮助吧。

更多文章:
avantage怎么设置为中文(Avantage安装丢失GIT)
2026年10月15日 03:00
activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)
2026年10月14日 20:30
excel连接sql数据库教程(excel怎么连接sql数据库)
2026年10月14日 19:40






