为您找到"

关于C语言,*p=a[0]是什么意思呀?

"相关结果约100,000,000个

c语言数组a[n][m]中,int *p=a,p是a[0]的地址,a[0]是a[0][0]地址对吗

不正确的。这里有一个问题。 p=a;等于是不同类型赋值了。a等效于二维指针,更准确的说法是int (*)[m]的数组指针。 而p是int*型的一维指针。后续的 a[0]是a[0][0]的地址这个说法完全正确。而p是a[0]的地址, 只是值相同,类型是不同的。 准确说法是p也是a[0][0]的地址 。

向前辈们请教下C语言, *P=a[1]和*p=&a[1]都是表达一个意思吧

a是一个数组名 本身确实是一个指针, 同时a[1]就是表示偏移量为一的变量, 即为一个int类型的变量 &a[1] 是取这个a[1]的地址 也就是它是一个指针。p = int *p = 指针 当然不一样 前面一个是把a[1]的值赋给*p,也就是说把 p指向的是a【1】的地址 后面一个是把a[1]的...

c语言char * a[2]={"one","two"},**p=a; printf("%s ",*(p++)+1)?

表达式p++的值是p的当前值。进而表达式*(p++)的值就是*p的值,也就是a[0]。进而*(p++)+1的值就是a[0]+1,也就是字符串one的后两个字母。

C语言指针。 int *p=&a[0];和int *p; p=&a[0]; 等价吗?

等价的,一个是在定义的时候就让指针p指向a[0]的地址,一个是先定义指针p然后再讲a[0]的地址复制给p,结果是一样的。只是在编辑器跑的时候有点差别

C语言中*a是什么意思啊?和数组一个用法吗?

n=*n+1;也是一个道理,表示n指向的地址的值加1 a++;表示a地址加1,就是说本来a指向0x0000,那么现在就变了,a会指向另外一个地址,那么这个地址对应的值也会相应的改变。建议:先找一本C语言的书,把指针一章的基本概念多理解一下,这些都是基础的东西,需要多体会。

c语言的 int a[10],*p; *p=a; 这样成立吗?求解释

不成立 int *p 定义p只是一维指针,它的值只能是指向一个整型的地址 p=a;是可以的 p = a的话,首先,p 本身未赋值初始化,其指向是不确定的 上述语句就是将a赋值给一个不确定的值,故会报错的 其次 假设 p 已初始化,由于a是一个地址,那么意味着 p 将是一个二维指针 (二维指针要这样...

C语言:对于变量定义int x,a[8],*p=&a[0]; x=*(p+3)含义

相当于int *p=&a[0]; 即p=a;而*(p+i)、*(a+i)、a[i]、p[i]都等价,所以x=*(p+3)就是x=a[3]另:&a[i]、&p[i]、a+i、p+i都等价;p=a+1与p=&a[1]等价

数据结构中(c语言)中,*p={*w,0,0,0}是什么意思

这是个缺省类型int的数组指针定义,定义p这个数组指针,它的值是后面那四个数据。其单元大小为int*4个单元

*和&在C语言中是个什么意思,起什么作用,如int a[3][3],*pmul;pmul=&...

是指针运算符,*pmul表示puml指向的变量;&是取地址运算符,&a[0][0]表示取a[0][0]的地址

C语言,求大神指导,不能理解for循环里面的意思。(特别是if语句里的*q=...

即 *q = a[0] * 10 + (c[2] - '0') = 1 * 10 + ('8'-'0') = 10 + 8 = 18;第二步: p=p+1; 使 p 指向 c[3] .循环里 的 q+=1; 使 q 指向 a[1]的地址 &a[1], *q 等于 数值 a[1]。你要分清的是: 语句里,p,q 是地址,*p,*q 是值c...
1 2 3 4 5 6 7 8 9

相关搜索