声明了一个整数数组 a[30] , a 的内存地址位置为: 240ff40
请问 a[10] a[15] 的内存地址是什么???
详细的说明和答案 。。。我是初学者。。。在线等。。。。
240ff40 + (10 * sizeof(int))
240ff40 + (15 * sizeof(int))
一般的32位系统,sizeof(int)是4,也就是说每个整数占用4字节,那么结果就是
240ff40 + 40 = 240ff68
240ff40 + 60 = 240ff7c
顶一个
偏移一个下标是4字节,其他你自己算吧
声明了一个整数数组 a[30] , a 的内存地址位置为: 240ff40
请问 a[10] a[15] 的内存地址是什么???
int *p_a1=NULL;
int *p_a2=NULL;
p_a1=a;
p_a1+=10*sizeof(int);
printf("&p_a1=%0x\n",p_a1);
p_a2=a;
p_a2+=15*sizeof(int);
printf("&p_a2=%0x\n",p_a2);
up
顶4楼,碰到这样的问题完全可以自己写个代码研究~
二楼正解
你可以编个程序:(好久没有写C了,不知道对不对)
不过他写得很不错!!
C/C++ code:
#include<stdio.h>
int main()
{
//前面定义你的a
int i;
int a[i];
for(i=0;i<30;i++)
{
printf("%ox",a[i]);
}
return 0;
}
相关问答:
#include <string.h>
#include <stdio.h>
void main()
{
int i;
char buf[]="abcde";
strncpy(buf,"abc",3);
for(i=0;i <5;i++)
printf(&q ......
在ue中从远程unix用二进制方式下载c文件到本地,修改之后用二进制方式上传到unix中,再用vi打开该文件,每行后面就会有一个^M的换行符,如果采用ascii方式下载,二进制方式上传的话就没有^M,那请问这样会对程序文件 ......
编写程序detab, 将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止的地方。假设制表符终止位的位置是固定的,比如每隔n列就会出现一个制表符终止位。
------------------- ......
warning有8个,但是不知到是怎么回事,warning具体如下:
newNode1=(graph)malloc(sizeof(struct node));对应的为:
incompatible implicit declaration of built-in function 'malloc'
int M= ......