您的位置:首页 > 其它

面对指针别犯难---------一篇献给初学指针的朋友们

2010-08-04 13:14 295 查看
C语言难不难?难!?真的难么。
  基础语句。无论是printf,scanf,for,while,switch.这些真的难么?
  学过的人都知道。这些其实很容易理解。深入了解需要时间。但是踏入大门以后,就不怕深入了解了。
  C语言到底哪里难?到底是哪里灵活?到底哪里麻烦?
  都说C语言灵活。为什么我们这些初学者见不到?!
  可能初学C语言的人心里都有这样一个结吧。
  到底是哪里灵活? 
  着所有的一切都归结于指针!
  
  指针到底是什么?
  我也说不清指针到底是什么。不过我知道它不是指南针。你要把他理解成指引你回家的方向的东西,那可就错了。他可是一不小心就让你跌入万丈深渊的东西。
  初学指针。不要问到底是什么。到底有什么用。
  用句大牛的话来说:不要问!学!就对了。
  说了这么多虚的。咱来点实的。直接上代码吧
  
  问题1:指针怎么定义?和定义变量一样么?
  答:你猜,猜对了我就告诉你。
  Int a; int *a; float a; float *a; char a; char *a; double a; doubel *a; 
  看过上面的代码以后。我觉得你能看出来有哪些不同。
  既然是入门。咱们就不要理解那么深。别管为什么这么定义 。也别管* 是什么。
  不要问。学,就对了。书会告诉你一切。
  问题2:指针怎么赋值?指针可以赋值么?指针到底做什么的!
  答:变量可以赋值么?变量怎么赋值?!变量到底做什么的?!
#include "stdio.h"
#include "conio.h"
int main()
{int a;
int *x=&a;
*x=3;
printf("%d",a);
getch();
return 0;
  }
  用C语言编辑器自己试试。自己看看怎么赋值。会对你指针提高起到很大的作用!。
  问题3:变量直接就可以赋值,用指针代替变量。这不是多此一举么?!
  答:这可能是初学指针的朋友们疑惑最多的一个地方。
  说句实话。我刚接触指针的时候。也觉得指针没用。TMD变量就可以直接赋值。有病啊还非得用指针?
  现在我才知道我多么的无知。都说指针是C的精华。怎么可能没用呢?!
  关于这个。我们也用一段代码来检验效果吧
#include "stdio.h"
#include "conio.h"
int main()
{int a[10];
int s,d;
int *x;
for(int i=0;i<10;i++)
{a[i]=i;
printf("%d",a[i]);
}
printf("请输入要修改的位数:");
scanf("%d",&s);
x=&a[s];
printf("请输入要修改的数字:");
scanf("%d",&d); 
*x=d;
for(int i=0;i<10;i++)
{
printf("%d",a[i]);
}
getch();
  }

没写注释。希望自行探索。真正明白指针的作用。
没做判断。可能导致程序出错。
这是一个修改指定数的程序。
也可能这一个程序体现不出来指针的重要性。
我只能说。更多的需要你自己体会。自己体会出来的才是真正的牛逼。
有句话不是说:第一个写穿越的是神。第一万个写穿越的就是烧饼了。
我觉得谁也不希望做烧饼吧?

好吧。当你觉得指针有用了! 重要了! 你想学了! 别着急。继续看。
   
看了半天我的废话。你可能觉得指针稍微有点灵活?或者是灵活?

不重要。指针灵活不灵活。如果你继续学下去。你自然就知道。

C语言中指针是个坎。你跨过这条坎。学后面的就容易了

跨不开这条坎。那就难喽。

心不能太急。贪多嚼不烂。做人也一样。

指针可能会阻挡你前进的道路。因为他不是指南针。

好了。就吹这么多吧。下次咱们接着吹。

面对指针别犯难。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  语言 float c