p=(int*)1000; 这个是把1000当作一个整数的地址赋给p ,(就是把数值1000强制转换为一个地址值)
p=(int*)1000; 这个是把1000当作一个整数的地址赋给p ,(就是把数值1000强制转换为一个地址值)
p 是一个指针变量,它用于存储一个指向 int 类型数据的内存地址。1000 是一个整型常量,它表示一个内...
执行语句int* p = 1000;将指针变量p指向地址为1000的变量是错误的。指针变量存储的是内存地址,而1000是一个整数常量[1],不是一个有效的内存地址。 如果想让指针变量p指向地址为1000的变量,可以使用以下方式: int* p; int x = 1000; p = &x;int* p; int x = 1000; p = &x; 上述代码...
int main() { int *p = (int *)1000; printf("%d\n",p+4);//1016 printf("%d\n",(short *) p+4);//1008 printf("%d\n",(unsigned long *)p+4);//1016 printf("%d\n",(double *)p+4);//1032 printf("%d\n",(char ***)p+4);//1016 ...
p:一级指针,表示p所指向的地址里面存放的是一个类型的值。指针变量用来存放内存地址的变量,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。有了指针以后,不仅可以对数据本身,也可以对存储数据的变量地址进行操作。指针一个占据存储...
是的,只用到前4字节,但是也可以用到后面的字节,这个时候你就可以把p当成int类型的数组指针,比如p[1]或*(p+1)用的就是第4字节到第7字节(注意这里从0字节开始数)。
Windows栈中的空间没有这么大的。栈空间只有2MB而已。。容不下这么大的数组的。你的应该是int类型的吧。。是char类型的可以运行的。。用malloc分配内存就行了。。。
p :二级指针,表示p所指向的地址里面存放的是一个指向类型的指针。p:一级指针,表示p所指向的地址里面存放的是一个类型的值。
执行语句int *p=1000;后,指针变量p指向地址为1000的变量。A.正确B.错误的答案是什么.用刷刷题APP,拍照搜索答疑.刷刷题(shuashuati.com)是专业的大学职业搜题找答案,刷题练习的工具.一键将文档转化为在线题库手机刷题,以提高学习效率,是学习的生产力工具