社区
C++ 语言
帖子详情
指针的问题,达人指教
supercalvin
2006-03-23 01:21:59
int foobar( int *pi ) {
*pi = 1024;
return *pi;
}
int main() {
int *pi2 = 0;
int ival = foobar( pi2 );
return 0;
}
这个函数会有问题么?为什么呢?
希望达人指教了。
...全文
126
7
打赏
收藏
指针的问题,达人指教
int foobar( int *pi ) { *pi = 1024; return *pi; } int main() { int *pi2 = 0; int ival = foobar( pi2 ); return 0; } 这个函数会有问题么?为什么呢? 希望达人指教了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
supercalvin
2006-03-23
打赏
举报
回复
多谢各位。
ChenSu2008
2006-03-23
打赏
举报
回复
int *pi2 = 0;
这个是声明一个指针,它的值是0;
没有指向某个地方。
在函数中的赋值
*pi = 1024;不合法。(把指针指向的地址存储值1024)
呵呵,当然因为地址为0的地方你的程序是不能进行访问的。
你可以
int iVal = 0;
int *pi2 = &iVal ;
Torrice
2006-03-23
打赏
举报
回复
int foobar( int *pi ) {
*pi = 1024;
return *pi;
}
int main() {
int *pi2 = 0;
int ival = foobar( pi2 ); --->地址传递
return 0;
}
pi2中存储的是四个字节的地址
popy007
2006-03-23
打赏
举报
回复
int *pi2 = 0;
这是个空指针。传入
int foobar( int *pi ) {
*pi = 1024;
return *pi;
}
由于没有对pi的合法判断,因此对空指针进行了操作。
可以增加一个相对安全些的判断:
int foobar( int *pi ) {
if(pi) {
*pi = 1024;
return *pi;
}
return 0;
}
逸学堂
2006-03-23
打赏
举报
回复
int *pi2 = 0; // 这时得0是指针为空,而不是指针值为空。
int ival = foobar( pi2 );
上面得应用相当于给一个空指针赋值,所以肯定会产生运行时刻错误。就像
int *pi2 = 0;
*pi2 = 1;
一样得错误。
修改如下就没有问题
int i = 0;
int *pi2 = i;
int ival = foobar( pi2 );
xiaocai0001
2006-03-23
打赏
举报
回复
当然会有问题了.
指针没有指向空间就使用,会出问题了.
ChenSu2008
2006-03-23
打赏
举报
回复
指针没有指向已被申请空间
2小时精通C++智能
指针
智能
指针
可以解决普通
指针
存在的悬垂
指针
、野
指针
、资源泄露等
问题
本教程的主要的演示平台为Qt 4.11和g++ 7.4。学员也可以使用Visual Studio 2017。 教程中从最简单的例子入手,覆盖智能
指针
的常用技术点,并穿插...
C语言笔试题
7.引用与
指针
有什么区别? 1) 引用必须被初始化,
指针
不必。 2) 引用初始化以后不能被改变,
指针
可以改变所指的对象。 2) 不存在指向空值的引用,但是存在指向空值的
指针
。 8.描述实时系统的基本特性 在...
LeetCode力扣刷题——
指针
三剑客之二:树
树,树的递归,树的前序中序后序遍历,二叉查找树,二叉搜索树,BST,字典树,前缀树。作为(单)链表的升级版,我们通常接触的树都是二叉树(binary tree),即每个...其与链表的主要差别就是多了一个子节点的
指针
。
C 语言面试题大汇总
先发基本
问题
,再发编程
问题
… 4. static有什么用途?(请至少说明两种) 1.限制变量的作用域 2.设置变量的存储域 7. 引用与
指针
有什么区别? 引用必须被初始化,
指针
不必。 引用初始化以后不能被改变,
指针
可以...
C语言面试题大汇总
7. 引用与
指针
有什么区别? 1) 引用必须被初始化,
指针
不必。 2) 引用初始化以后不能被改变,
指针
可以改变所指的对象。 2) 不存在指向空值的引用,但是存在指向空值的
指针
。 8. 描述实时系统的基本特性 在特定时间内...
C++ 语言
64,649
社区成员
250,477
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章