辣的果丶 发表于 2016-8-24 11:30:32

传址的区别?

int inc(int *p) 
{
  *p = *p + 1; /* 通过地址修改了值 */
  return *p;



int inc(int *p) 
{
  return *p + 1;/* 函数中并没有给指针赋值 */
}


问什么第二个函数中并没有给函数赋值?没看懂。。。。

迷雾少年 发表于 2016-8-24 12:05:21

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 13:18:31

迷雾少年 发表于 2016-8-24 12:05


第2,3步 和第17步 我感觉都一样呀? 我不是太理解有什么区别?
页: [1]
查看完整版本: 传址的区别?