66问答网
所有问题
当前搜索:
数组地址和数组首地址
C语言指针,下标,
答:
2.指向
数组
元素的指针 若有如下定义:int a[10], *pa;pa=a;则p=&a[0]是将数组第1个元素的地址赋给了指针变量p。实际上,C语言中数组名就是数组的
首地址
,所以第一个元素的地址可以用两种方法获得:p=&a[0]或p=a。这两种方法在形式上相像,其区别在于:pa是指针变量,a是数组名。值得...
*p=(int*)a是什么意思
答:
你好!!!int (*p)[M]定义的
数组
指针,表示定义一个指针变量,此指针变量是指向一个含有M个元素的一维数组:举例:int a[]=,(*p)[5];p=a;那么指针p就指向数组a的
首地址
,*(p+i)表示数组a中的值。一个更常用的用法是:用二维数组的行地址给其赋值:int a[3][2]=,(*p)[2];p=a[...
一个指针的问题
答:
首先,数组(一类类型,或者类型的实例——数组对象的简称)是数组(某个具体的数组对象具有具体的数组类型),数组名是数组名(名称):数组名在表达式中不会是“
地址
”,而是数组名代表的数组对象被隐式转换为指向该
数组首
个元素的指针后,这个指针的值可以被认为是(这个数组的首个元素的;由于对象的...
若p为指针变量,a为
数组
名,则a-p是合法的
答:
首先,指针是地址。当a-p时,我们自动认为a是指a
数组
的
首地址
,则a-p就是地址减地址。所以合法。(刚学c没多久,自己上课时候听老师解释过)但是结果出来好像不算地址,而是数值
*p++=a[i]什么意思
答:
是取目标符,*加一个指针就是取这个指针指向的内容,这里p是指向a
数组
的第一个元素的 a[]数组,把后面的中括号去掉,a 就表示这个数组的
首地址
, 就是第一个元素的指针 这句话的意思就是:将a[i]的值赋值给p指针指向的目标,然后再p=p+1;这个程序昨天见过了,就是通过遍历 ,找出数组a中值...
一个简单的C语言问题
答:
&a[0]++是错的。既然a是
数组
,那么数组名a就是它的
首地址
,所以说a+1即是第二个元素的地址(也就是a[1]的地址)。对地址+1,会自动加上地址指向内存的大小,比如现在a指的是int,然后a+1,实际的结果是地址值加上了int占内存大小2 而&a[0]++根本就是错的语句,&a[0]得到的是地址值,...
int a[] = {1,2,3,4,5,6}; 则int (*ptr) = a; int *p = a[0] 有什么...
答:
int (*ptr) 和int *p 本身是没有什么区别的,都是定义一个指针 只不过名字叫的不同而已,a表示
数组
的
首地址
,确切的说法应该是数组的第1个元素的地址,即在这里是a[0]的地址 下面几个是等价的写法 int (*ptr)=a; //ptr指向第一个元素1 int *q=a; //q指向第一个元素1 int *p=&a[0]...
C语言中如何计算一个
数组
占内存多少空间?
答:
C语言中
数组
的sizeof值等于数组所占用的内存字节数。C语言中有一个专门用于检测类型或变量或数组在内存中所占有的空间(字节数)的操作符sizeof,用sizeof可以直接检测出数组在内存占有的字节数。语法规则是:sizeof(x); (识别没有歧义时也可写成sizeof x;)——其中x是类型名、变量名或数组名等,...
指向二维
数组
的指针
答:
在本例中,p和p[0]是同一个意思,就是
数组
a的起始地址,等价于cout<<a<<endl,但是他们有区别,p指向的是整个数组的
首地址
,而p[0]则指向a的首行首地址(继续往下看...)。p[9]则值内存为p数组分配的(*p)[9]的地址。如果你仔细验证程序的输出结果,就会发现:include<stdio.h> include "...
int a[10],*p=a;p++;p++之后是...
答:
内存地址加一!!//如果是元素的话应该这样表示:p=a[i].这时p指向的是数组内的元素,而*p=a意思是p里面的值是数组a的
首地址
,p自己本身也占有一定的内存,也占有一个地址,这个
地址和数组
a的首地址并不连续.p++之后p与数组a就没有什么关系了// //如a[]={1,2,3,};则a[0]=1,a[1]=2,a[...
棣栭〉
<涓婁竴椤
67
68
69
70
72
73
74
75
76
涓嬩竴椤
71
其他人还搜