www问答网
所有问题
c语言中为甚么对一个地址加一个*就是该地址的内容? 谢谢回答 ……
如题所述
举报该问题
推荐答案 2011-12-22
*p 我的通俗理解: p可以理解成一个变量,(int char long都行,只是长度的区别)。这个p的值是一个数。 * 是: 将p的数当做 地址 来用 。 *p就是那个地址的名字了。对*p赋值就是对那个地址赋值了
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://www.wendadaohang.com/zd/KGdn53G55.html
其他回答
第1个回答 2011-12-22
指针的用法啊
*A 就代表a所在地址的值,a代表地址
这个语言就是这样设计的,就像我们用“铅笔”来标示铅笔一样,约定的,没得什么意义
第2个回答 2011-12-22
怎么说呢,这样做时“*”就是个反引用符号。就好像int a;&a就代表取a的地址是一样的。当初就是这么定的。
第3个回答 2011-12-22
他就这样设计的,定义*为取内容操作符本回答被提问者采纳
第4个回答 2011-12-22
c的龟腚
相似回答
C语言中
*
(&key) 表示的是key的
什么
参数;【能够举个这样的例子就最好...
答:
单纯的*(&key)是没什么意义的,&是取地址,*是取
地址的内容
,如楼上说的 a=5,那么&a是内存中存放a这个变量
的地址
,再加*后,就是去这个
地址里
取内容,也就是5。所以说这样的写法基本是没意义的。不过其实有个用法是与这个相近的,如:int a=5;现在要把a转成char型 char b=*((char *)...
C语言中
两
个*是什么
意思?比如int**p
答:
2 个*号,声明指向指针的指针
。它的意思是“它是一个整数,这个整数指向某个内存地址,一次访问sizeof(int)长度,其值是一个整数,那个整数值指向某个内存地址,一次访问sizeof(BTree)长度。指针可以指向一份普通类型的数据,例如 int、double、char 等,也可以指向一份指针类型的数据,例如 int *、d...
c语言中
二维数组a[i][j],
为什么
a=*a?
答:
在C语言中,二者是相同的地址值
。所以可以说a=*a.二维数组a定义为a[i][j]时,代表一组数据,有i行j列,共计i*j的元素。这组数据在内存中是连续存放的。而在C语言的使用中,a是二维数组的首地址。*a也就是a[0],是二维数组第一行的首地址。所以,二者是相同的地址值,即数据a[0][0]的...
请教
C语言
答:
先解释两个运算过程:t=*s1++;s1=*s2--;s1++;相当于*(s1++);将先执行s1++;但是由于它是“滞后自增”,也就是s1的值先不增加,以原来的值参加*s1的运算(*s1将取出其所指向的变量的值),当语句执行完毕遇到“;”的时候,或者遇到“,”的时候才完成自增。s2--;意思与上述一致。下面跟踪程序...
C语言
,这题的 B选项不也是对
的?
答:
但*ps[0]是取出
地址中的一个
字符(char),而不是字符串"aa",因为ps[0]它不知道自己指向的是不是一个字符串,只知道它一定指向了一个字符,所以肯定可以取出这个字符。那
为什么
用puts(ps[0]);或printf("%s\n",ps[0]);可以取出一个字符串呢?因为这两个函数提供了额外的信息,可以据此得出...
c语言中
二维数组的a代表是0行首
地址
,那*a不
就是
首个元素吗,
为什么*
a代...
答:
int main(void){ int a[2][3]={1,2,3,4,5,6}; printf("%d\n",**(a+1)); return 0;}输出肯定是4。这说明,既然a是第0行的指针,那么a+
1就是
第1行的指针,*(a+1)则是第1行第0个元素的指针,**(a+1)当然就是第1行第0个元素的值4了……...
为什么C语言
二维数组a[2][2], a和*a输出是相同的,都表示
一个地址
答:
所以从类型上讲,a是指向指针的指针,*a是指向一行一维数组的指针。但a作为数组名,又表示了数组首
地址
(在内存中元素地址是连续的)。a是第一行数组首地址。所以值相同 (注意只是值相同,比如a[n]和(*a)[n]意义就不一样,一个表示第n行的行指针,
一个是
第一行的第n列)。
c语言中
(int*)是
什么
意思
答:
int*代表的是int型的指针。声明的变量就叫指针变量。存放
地址的
变量称为指针变量。指针变量是一种特殊的变量,不同于一般的变量,变量存放的是数据本身,而指针变量存放的是数据
的地址
。举例:int* a = 68 ,系统为变量a分配的首地址为0X065FDF4H,声明空指针long *p = NULL,p=&a是存放变量a地址...
c语言*
&一起来用是
什么
意思?
答:
那么形参m也是指向空间A的指针。它们两个保存
的地址
值相同,你可以通过a和m修改指向的空间
的内容
,效果一样。但它们绝不是同一个东西。如果在子函数中使用m=(sqlist *)malloc(sizeof(sqlist));就改变了m的指向,但是a的指向没有变化。只有通过指针引用才能实现让a和m的指向完全相同。
大家正在搜
c语言中补码加一是什么意思
c语言地址加一运算
c语言地址是什么
c语言中指针加一
c语言每秒变量加一
c语言数组指针加一
\0是什么意思c语言
c语言取地址
c语言!是什么