您的位置:首页 > 其它

c 指针相关

2015-12-27 01:48 162 查看
1. c语言中 函数参数只作用于函数内部,
#include <stdio.h>

void test_func_ptr (int a)
{
printf ("%d \n", a);
a = 100;
printf ("%d \n", a);
}

int main (void)
{
int c = 10;
test_func_ptr (c);
printf ("%d \n",c);

return 0;
}

这个输出的结果 为10,100,10. 造成这个的原因是进入函数是会开辟新的内存在栈中,在函数执行完成后会弹出,但是原来mian中额c值并不会变化。如果要对c施加影响需要传入指针,例子如下

#include <stdio.h>

void test_func_ptr (int *a)
{
printf ("%d \n", *a);
a = 100;
printf ("%d \n", *a);
}

int main (void)
{
int c = 10;
test_func_ptr (&c);
printf ("%d \n",c);

return 0;
}


基本上可以通俗的理解为,顺藤摸瓜,再给瓜一刀,之后瓜上就一直有这么一刀了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: