55问答网
所有问题
关于C语言指针问题
这里我想问一下为什么a[0]是int *,int *是什么意思?p的类型是什么?
*在书本上是去内容运算符,“用*对它解引用”这要怎么理解?
求解,十分感激!
举报该问题
推荐答案 推荐于2016-02-15
指针类型定义的时候,用的是int *pt; 你可以直接理解成pt是用来存放一个地址的变量,而它代表的这个地址上存了一个int型数据。*pt就是去pt这个地址上取里面存放的内容,所以*pt是int类型,pt也就按照定义的格式说成是int *类型。“用*对它解引用”这句话的意思就是去指针代表的这个地址上取里面存放的内容。而pt[0],跟*pt是完全相同的意思,就是去取pt代表的地址上存放的int型数据。
你问的内容里p跟上面我说的pt是一种类型,即int *类型。
而a由于是二维数组,它相当于指向指针的指针,即你去a所指向的地址上取到的数据并不是int型,而是又一个地址类型,即*a是int *型,即a[0]是int *型。(a也就相当于int **类型)
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/Lc88GI4QLRcFGFI8GF.html
其他回答
第1个回答 2015-08-27
*有4种用法
1,类型 *,结合在一起,表示指向某个类型变量的指针,例如int *ptr, void **data
2,乘法,这个不必说了
3,解除引用, 例如: int a = 0; int *ptr = &a; *ptr = 1;(效果等同于a = 1),这叫解除引用,即通过地址找到实际的对象来操作
4,/*,注释.
不要把解除引用和声明指针类型弄混了.
相似回答
c语言指针问题
答:
第一,
指针
类型的变量(以下称指针变量)是用来保存地址的,指针变量的类型决定了它可以保存哪种类型的变量的地址。char *s说明s可以用来保存一个char类型的变量的地址(char *是s的类型,说明s可以保存一个char类型的变量的地址)。第二,s是指向
c
[0]的,即s保存的是c[0]的地址(s的值...
C语言指针问题
答:
1、ptr赋值为arr地址后指向第一个元素,即元素6.2、*(ptr++) += 123;由于是右侧操作(递增后缀),所以先取ptr地址后再递增ptr,此时取得的地址还是第一个元素地址(递增后ptr指向第二个元素,也就是7,这是第一次递增),因此是对6+123=129,并保存原地址,即第一个元素地址,因此6被改为129...
c语言程序指针问题
答:
分析:程序没有正确区分数组和
指针
。在
C语言
中,当把字符串常量赋予指针时,该字 符串常量就存储在静态存储区中。此时数据不能用指针修改,应用数组的方式进行修改。
C语言指针问题
?
答:
调用结束后,所有实际参数的值均不会发生变化。但是swap3中*pa,*pb发生的交换(实际就是主函数中a和b的值发生了交换)
c语言 指针问题
答:
没有
问题
,这是习惯写法,只是不能通过s往里面写入,更精确的写法是这样的:const char *s = "\ta\017bc";该字符串常量 所占字节数就是6= 5+1
大家正在搜
c语言指针例题
c语言指针编程题及详解
c语言行指针
c语言指针详解
c语言指针类型
c语言指针地址
c语言指针数组
c语言中指针的定义
c语言指针的用法