C语言中的小细节

C语言中有很多小细节值得我们注意,这些细节有助于我们更好的理解程序代码。

全局变量与局部变量

全局变量是定义在函数前面,局部变量是定义在函数内部。

全局变量

#include <stdio.h>
int x;
void change(int x)
{
   x=x+1;
}
 int main ()
{
  int x=10;
  change();
  printf("%d",x);
  return 0;}

输出的结果:

11

从上面我们可以看出,x的值在整个程序中,可以共用,所以。change()函数可以改变x的值。

局部变量

  #include <stdio.h>
  void change(int x)
 {
   x=x+1;
}
 int main ()
{
  int x=10;
  change();
  printf("%d",x);
  return 0;}

输出的结果:

10

这里的话,我们定义函数是在函数内部定义的,只能在主函数中起作用,change()函数无法改变x的值。

修改函数中变量的值的两种方法

通过指针

#include <stdio.h>
void swap(int *a,int *b)
{
  int temp =*a;
  *a=*b;
  *b=temp;
}
int main()
{
 int a=1,b=2;
 int *p1=&a,*p2=&b;
 swap(p1,p2);
 printf("a=%d,b=%d\n",*p1,*p2);
 return 0;
}

输出结果

a=2,b=1

c++可以通过引用&

#include <stdio.h>
void swap(int* &p1,int* &p2){
int *temp=p1;
   p1=p2;
   p2=temp;
}
int main()
{
  int a=1,a=2;
  int *p1=&a,*p2=&b;
  swap(p1,p2);
  printf("a=%d,b=%d",*p1,*p2);
  return 0;}

输出结果

a=2,b=1

只有这两种方式,其他的方法都是实现不了的。明天开始可能就开始刷题了。每日一题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容