传址的区别?
int inc(int *p){
*p = *p + 1; /* 通过地址修改了值 */
return *p;
}
int inc(int *p)
{
return *p + 1;/* 函数中并没有给指针赋值 */
}
问什么第二个函数中并没有给函数赋值?没看懂。。。。 int inc(int *p)
{
*p = *p + 1; /* 通过地址修改了值 */
return *p;
}
比如
int k = 123;
int result = 0;
result = inc(&123);
这个函数把k的值增加了一个然后返回增加后的k的值给result
int inc(int *p)
{
return *p + 1;/* 函数中并没有给指针赋值 */
}
int k = 123;
int result = 0;
result = inc(&123);
这个函数没改变k的值 只是把k的值+1返回,然后result保存了
迷雾少年 发表于 2016-8-24 12:05
第2,3步 和第17步 我感觉都一样呀? 我不是太理解有什么区别?
页:
[1]