为您找到"

c语言中*p=&a和p=&a有什么区别

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

关于C语言,int (*p)[4] = &a是什么意思呀?

二维数组a,a[0]表示第一行的行指针,是int*类型,自然赋值给p,不需要加&。而上面说了*p2取值是一个指针,所以给p2赋值需要一个指针的地址,所以&a[1]要加&符号取地址。PS:a作为数组名是一个指针常量,它的类型就是int(*)[2],表示指向第一行的行指针的地址。所以可以直接赋值p2=a;。

c语言中指针那一章,定义二维数组a[5][6],(*p)[6],&a和a有什么区别...

a+1是第二列的地址,a+2是第三列的地址...a是第一列第一个元素的地址,*a+1第一列第二个元素的地址...&a是整个二维数组的地址,&a+1是内存中紧跟a[5][6]这块区域的地址 (*p)[6]这里的p的效果等于a,也是第一列的地址 p=a p是第一行第一个元素的地址,a 是第一行的地址 两者...

...a)和scanf(%d",&a)在printf("%d",a)中到底有什么区别

scanf("%d",a),是读取1个数字,写入地址a,这个a如果是100,就写到地址100。如果是200,就写到地址200,显然,这很危险,万一a的存储的值刚刚好是一些指令的地址什么的,会写到这个地址修改指令,就运行不下去了,出大错。printf("%d",a) 就没什么了 把变量a的存储的值输出然后&是取地址。

C语言:假如int *p,k;那么 *p=k与p=&k 有什么区别么?

1、int *p,k;p=k;//这样写,错! 这句话之前必须有前提,可以这样 int *p,k,y;p=&y;p=k;//此时表示将变量k的值赋值给指针变量p所指向的空间,相当于y=k;2、int *p,k;p=&k;//相当于把变量k的地址赋值给指针变量p

c语言中的几个关于* &的指针问题还有构造函数问题(不要扯c++上去了...

函数中改变的内容将与函数堆栈内容无关,修改的是指针指向对应内存的位置,故可以作多个修改(传多个指针,修改多个指针指向的内存空间)。最后一个问题,return的意思是函数返回,只要调用这一语句,函数即刻返回,该语句下的所有语句将不会被执行。最后祝楼主的C语言之路越走越棒!!

c语言中,i=*p-‘0’是什么意思

p是一个指针,*p是他所指向的内容,这里p是char 类型的指针,所以*p实际上就是一个字符,比如'a''0'在这里也是一个字符(用单引号括起来的都是一个字符char型)由于对于C语言来讲,字符是用ASCII码表示的,也就是说一个字符是一个0~255的整数,'0'的ASCII码是48,'1'的ASCII码是49。。。所...

c语言中语句 c=*a;*a=*b;*b=c; 是什么意思

c=*a:是把a所指向的内存单元的值付给变量c;a=*b:是把a所指向的内存单元的值付给b所指向的内存单元;b=c:和第一个刚好相反,表示把变量c付给b所指向的内存单元;

C语言中*p=s[i++]和s[i++]=*p的区别是?分别表示什么意...

回答:i++是在使用i之后,使i的值加1. 假设p=&a,*p=s[i++]的意思就是把s[i]的值赋给a,然后使i加1;s[i++]=*p的意思就是把a的值赋给s[i],然后使i加1。

C语言中定义int c[4][5],(*p)[5];p=c;其中p、p[0]、*p有什么区别...

p = c 就是数组指针p指向 &c[0], 当p = c时p[0]就是c[0], p[1]就是c[1]; p[1][0]就是c[1][0];上面的定义可用如下替换:typedef int MyType[5];//定义一个新的类型,大小为5个整数.MyType c[4];MyType *p;p = c;这样就好理解啦.C中指针与数组关系较复杂, 但只要把a...

定义数组a[ ],为什么int *p=&a[0];等于int *p; p=&a[0];

一个是声明时初始化,一个是先声明后赋值,在C语言里两者等价。更好的写法应该是int *p=a;因为C语言数组名等于首个元素的地址,也就是a == &a[0]
1 2 3 4 5 6 7 8 9

相关搜索