您的位置:首页 - 教程 - C语言 - 正文
C语言指针

    今天我想和大家浅显地谈谈强大的C语言里面指针内容,这里我谨说一说自己的理解,难免有不对的地方,希望可以和大家一起来学习指针。

    回想起去年刚接触到C语言,自我感觉就是指针这方面比较的难以理解吧,现在一些简单的用法还是可以保证用对的,不过也难免会出错,就是如果你在理解一些东西上面感觉困难的话,那也没关系的,就先放下去放松自己,因为慢慢地你的理解会有一点不同的,慢慢地当你再去考虑的时候,会有不一样的理解的,接下来我就来谈谈自己的理解吧!

    C语言里面很重要的一点就是值传递,自我认为就是函数这方面体现的最明显,值传递就是指你给函数传递的形参,也就是说你传递过来的只是一个值而已,我们知道,在一个C程序中,值这个东西不是很重要,重要的是变量这个东西呀,这是我个人的理解;而指针是C程序内存分配的一块内存,就像其他的变量一样拥有内存空间,但这个内存空间里面的内容是地址,这是指针的最重要的特点了吧;所以当指针作为形参的时候,自然我们应该理解为它实际上传递的是一个地址而已;所以,一般我们发现指针作为形参的时候,在函数里里面一般会出现“ *p”,这里p是传递的指针,这里,p里面的内容是一个地址哦!在函数里面,如果对p操作的话,可想而知那是没有没有任何意义的,因为函数是一个块,指针作为形参的话,它传递进来的仅是一个地址,比方说,是0011 0010 1101 1110;这个地址,在函数里面如果对这个指针操作的话,仅仅是对这个地址操作了,出来函数以后,指针变量并没有变化,这样函数其实就是没有意义的,但是如果是” *p “这样的话,就是指针的精髓了,虽然p的内容是0011 0010 1101 1110;但是*p代表的是指针的指向的内容,如果对它进行操作的话,那函数就是起到了对变量操作的作用,所以总结出一句话,指针的一个很重的作用就是能够对它指向的内容进行操作啦!这就是指针一个很重要的作用了!

下面就来通过2个最为简单的例子来一起看一下吧!

1, #include<stdio.h>

#include<stdlib.h>

void change(int *c);

int main(void)

{

int a=0;

int *b=&a;

change(b);

printf("%d\n",a);

system("PAUSE");

return 0;

}

void change(int *c)

{

(*c)++;

}

尝试编译上面的小程序看看,看输出的值:

可以清楚的看到是1;这就是说明了指针的一个很常用的作用了,就是对它指向的内容进行一些操作;嗯嗯。第一次写这个东西,很多方面都还不熟悉,希望大家可以体谅一下,以后慢慢地会尝试更加完善的。好的,谢谢大家对我第一次博客的支持啦!


评论: