c语言学到什么,c语言中指针快速理解

  c语言学到什么,c语言中指针快速理解

  Yyds干货库存

  今天我们来回顾一下C语言中指针的特点。

  直接装载代码:

  #包含位/标准数据。h

  使用命名空间std

  int a[2];

  int main()

  {

  int * b=a;//地址是传入的,所以会改变原来的值

  for(int I=0;I=1;我)

  {

  cout b[I]endl;

  b[I];

  }

  for(int I=0;I=1;我)

  {

  cout a[I]endl;

  a[I];

  }

  }运行结果:

  因为A的地址传递给了指针B,当指针B访问并操作,然后遍历数组A时,数组A中元素的值也会发生变化。

  很简单吧?那么请看这个问题和这串代码:

  示例:

  代码:

  #包含位/标准数据。h

  使用命名空间std

  int du[10005];

  vector int p[10005];

  int main()

  {

  int n,m;

  CIN nm;

  while(m -)

  {

  int a,b;

  CIN a b;

  p[a]。push _ back(b);

  p[b]。push _ back(a);

  杜[a];

  杜;

  }

  cout endl

  cout endl

  Cout 每个节点的度的初始du: endl;

  for(int I=1;I=n;我)

  {

  cout I : du[I]endl;

  }

  cout endl

  int k;

  CIN k;

  while(k -)

  {

  int * du2=du//这里是指针*

  int np

  CIN NP;

  for(int I=1;i=np我)

  {

  int x;

  cin十世;

  du2[x]=0;

  for(int j=0;j p[x]。size();j)

  {

  if(du2[p[x][j]]!=0)

  du2[p[x][j]]-;//就是这个原因!*

  }

  }

  cout endl

  cout endl

  cout du2变化后,du各节点的度: endl

  for(int I=1;I=n;我)

  {

  cout I : du[I]endl;

  }

  for(int I=1;I=n;我)

  {

  if(du2[i] 0)

  {

  cout NO endl

  goto k;

  }

  }

  cout YES endl

  k:

  ;

  }

  返回0;

  }然后,带入测试数据:

  10 11

  8 7

  6 8

  4 5

  8 4

  8 1

  1 2

  1 4

  9 8

  9 1

  1 10

  2 4

  五

  4 10 3 8 4

  6 6 1 7 5 4 9

  3 1 8 4

  2 2 8

  9 8 7 6 5 4 2运算结果:

  我们会发现,du2的变化导致了du的变化。为什么?我在开头给出的原因是指针的特性。

  综上所述,代码复杂的时候,可能很难找出原来简单的问题,所以C语言基础要打好,不然就像我这次一样,看着复杂的代码调试小问题~

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: