指针

来源:互联网 发布:centos kali双系统 编辑:程序博客网 时间:2024/06/05 08:57

1、&    取地址符,用来取后面变量的地址,我们一般说的变量的地址,说的是变量的首地址。

2、%p 是以十六进制打印地址

      %#x(X)以十六进制打印地址,结果有大小写区分。

3、指针变量的定义方法:(1):这是一个指针,*p

                                               (2):这是什么类型,  比如 int *p

4、*的作用:(1)乘号

                        (2)定义一个指针变量

                        (3)表示获取指针指针指向的数据

                        (4)shell中表示通配符

5、*&a ==*(&a) ==  *p   ==   a

      &*p   ==  &(*p) ==&a   ==  p

6、关于指针类型的加减(指针变量的乘除没有意义)

pa + n = pa + sizeof(指针所指向的类型)* n

#include<stdio.h>int main (){    int a ; int *pa =&a;    printf ("%p\n",pa);    getchar ();    pa++;        printf ("%p\n",pa );    return 0;
}
7、关于a    &a[0]    &a   的区别

      数组名代表数组首个元素的地址,等价于&a[0]

     &a 是数组的地址,和数组首个元素的地址区分开

8、数组名代表数组首个元素的地址,在某种场合可以当指针使用:

int a [5] = {1,2,3,4,5};printf ("%d\n",*a);printf ("%d\n",*(a+1));
9、数组指针与数组的区别:

(1)数组指针不能代替数组名求指针长度

(2)数组是一个常量,不能改变

10、指针可以指向字符串,但不可以改变它的值,字符串是一个常量。

11、指针数组:是一个数组,里面存放着指针。

字符串本身代表char*类型的指针。





原创粉丝点击