11问答网
所有问题
当前搜索:
取数组的地址
数组
元素与数组元素
地址
的表示方法
答:
数组
元素地址 可以是数组名,或者数组名加上常数,或者数组元素
取地址
。比如 a a+i &a[i]这三种形式都是元素地址。元素本身, 可以对元素地址取值,也可以用下标方式。比如 a[i]或者 *(a+i)
在c语言中,(*p)[3]和*p[3]有什么区别?
答:
例:int a=10,b=20,c=30;int*p[3]={&a,&b,&c};2、(*p)[3] p是一个指针变量,表示指向含有3个整型元素的一维数组;例:int a[3]={1,2,3}; 那么p就是指向这个数组a的指针;int(*p)[3]=&a; // 这里赋值一定要用
取地址
符号,也就是
取数组
a
的地址
。
C语言中 用scanf函数输入字符串
数组
,
取地址
符&是不用输的,如果输了取...
答:
c就代表c[0]
的地址
。设
数组
c的首地址为0X2000,也就是说c[0]地址为0X2000,则数组名c就代表这个首地址。因为c已经表示地址,所以在c前面不能再加
取地址
符&。字符串数据类型是建模在形式字符串的想法上的数据类型。字符串是几乎在所有编程语言中可以实现的非常重要和有用的数据类型。
数组的
首
地址
是什么啊,
答:
int a[10];
数组的
首
地址
就是数组名,它里面存的就是与硬盘一一对应的一个虚拟地址,从这个地址开始就存放数组中的元素a[0],a[1]...等等,
c语言中"&
取地址
"是什么意思?
答:
**p。假如先定义了一个整型指针变量p。是学习c语言不错的教材.g int a。int (*p)()。而这个空间在内存中的位置就是它
的地址
,它会先根据&a知道a的地址。int (*p)[n]。p是一个指针变量。int *p[n]; 定义指针
数组
p,&a)。比如你定义了一个变量;当你输入3时; p为指向函数的指针。
C语言,int x [5]={2,4,6,8,10},*p ,**pp ;p =x ;pp =&p
答:
然后取刚才的p地址的内容,这是由于是后缀自加,所以要先使用后自加 pp这个的运算方向是从右到左,所以先是*pp,取pp地址的内容,然后又一个*,就是又取刚才内容
的地址
,也就相当于白干了,等价于pp 还有就是定义的pp其实和p的指向是一样的 所以*(P++ )=2;PP =2。
求大神帮忙解释一下下面这段C程序,求详细!
答:
int a[5][2] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };这句语句是定义一个5行2列的2维数组a,这里你可以理解为5个拥有"2个元素的数组"的集合 int* p = a[0];整型指针指向2维
数组的
首元素
的地址
int (*p2)[2] = &a[1];定义p2是一个指向数组的指针,现在p2指向a[1],即...
c语言
取地址
符有什么用,为什么scanf一定要用&
答:
取地址
就是把变量转为指针, 起到传地址调用函数的效果.而C语言中函数传参有两种,传值调用 和传指针调用.传值调用时, 被调函数中改变参数值不会影响主函数.只有传指针调用, 才可以将参数值回传给主函数.scanf中要根据输入对参数赋值, 所以 必须传指针调用....
...*p = a; char *q = (char*)&a; 为什么a
的地址
和&a的地址是一样的...
答:
这里的&不是引用,是获取对象
的地址
。他在编译时生效。char a[10] = {0};a指向数据结构char [10] ,sizeof(a)=10; a不等于指针,如果是指针sizeof(a)应该等于4。其实这个在多维
数组
中差距较大。char a[3][4][10];char a[3][4][10];printf("%p\t%p\t%p\n",a,a[0],a[0][0...
scanf为什么有时用
取地址
符,有时不用
答:
因为a是个整型变量名,所以SCANF要取得这个变量在内存中
的地址
;而name是char
数组
,name本身指向这个数组首地址。也就是说a里面保存的是内容,name里保存的本身就是个地址。
<涓婁竴椤
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜