C语言中,如何让指针指向一个已知地址?
int*p=0xXXXXXXXX;还是int*p=(int*)0xXXXXXXXX;需要转换类型吗,C语言规定指针不能赋予常数,第一条语句如果成立不就代表赋予一个常数而不...
int *p=0xXXXXXXXX;
还是
int *p=(int*)0xXXXXXXXX;
需要转换类型吗,C语言规定指针不能赋予常数,第一条语句如果成立不就代表赋予一个常数而不是地址么? 展开
还是
int *p=(int*)0xXXXXXXXX;
需要转换类型吗,C语言规定指针不能赋予常数,第一条语句如果成立不就代表赋予一个常数而不是地址么? 展开
4个回答
展开全部
必须转换类型,你的第二条是正确的。第一条编译不通过的是错误的,因为他只是一个16进制的数,而p是指针,是不能赋值的。也就是第一条赋值语句是将一个整数赋值给指针,肯定不行的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
若是 0xXXXXXXXX 是已经数据类型 是 T 那么
T *p = (T *)(unsigned long)0xXXXXXXXX
若是在未知道的情况,可能崩溃
如果是整形 int 的话
int *p = (int *)(unsigned long)0xXXXXXXXX
T *p = (T *)(unsigned long)0xXXXXXXXX
若是在未知道的情况,可能崩溃
如果是整形 int 的话
int *p = (int *)(unsigned long)0xXXXXXXXX
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如 int a;int *pa=&a;就是pa指向a,即pa存了a的地址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询