给自己看的。。。

来源:互联网 发布:好看的电影 知乎 编辑:程序博客网 时间:2024/06/09 23:44

这两天看了c的书籍,一段时间没弄这个还真的有些概念模糊了。还是自己的基础不够扎实!

 

还是数组和指针的问题。数组名本身可以看成是该数组的指针,但是它的位置是固定的。可以定义一个指针变量,把这个指针指向该数组的

 

起始地址,那么通过指针的运算就可以完成对数组的访问。注意数组名所表示的是一个常量,因而不能改变其值,但指针是一个变量,其值

 

是可以改变的。引用一维数组元素 int a[10],*p=a;的方法有以下两种:

 

1)下标法,如a[i],p[i];

 

2)地址法,如*(a+i),*(p+i);

 

对指向数组、字符串的指针变量可以进行加减运算,如p+n,p-n,p++,p--等。对指向同一数组的两个指针变量可以相减。对指向不同类型的

 

指针变量作加减运算是无意义的。

 

指针作为函数的参数

指针变量可以作为函数的参数,所表示的意义是将参数的地址传递给形参,因此可以实现参数值的双向传递。如

 

main()

{

     ...

 

    a=5;

 

   func(&a,...);

 

   ...

}

 

void func(int *a)

{

 

     *a=8;

 

}

执行结果,a的值将改变为8。

 

指针型函数及函数指针

 

1)指针型函数,是指函数的返回值是指针型的,即这类函数的返回值是地址数据。它的调用方法与一般的函数的调用方法完全相同,唯一需

 

要注意的是只能用指针变量或者指针型数组元素来接受指针型函数的返回值。

 

2)函数指针,指向函数的指针称为函数指针,当把函数名赋给指针变量时,该指针变量的内容就是函数的存储地址。函数指针的作用主要

 

是把函数作为参数传送到其他函数。如果使指针变量指向不同的函数,将它的值传送给被调用函数中的形参时,能调用不同的函数。

原创粉丝点击