l903445981的博客

你一定要有上进心

指针

一.指针的含义

int *p1;   //p1是一个指针变量,它的值是某个整型变量的地址

float *p2; //p2是指向浮点变量的指针变量

//一个指针变量只能指向同类型的变量,P2 只能指向浮点变量

二.赋值

把整型变量a 的地址赋予p

int a;

int *p=&a;

int a;

int *p;

p=&a;

三.指针运算符

①取地址运算符&

②取内容运算符*

在*运算符之后跟的变量必须是指针变量。

注意指针运算符*和指针变量说明中的指针说明符*的不同:

在指针变量说明中,“*”是类型说明符,表示其后的变量是指针类型。而表达式中出现的“*”则是一个运算符用以表示指针变量所指的变量。

四.指针变量的运算

①把一个指针变量的值赋予指向相同类型变量的另一个指针变量

    int a = 5;
    int *pa = &a,*pb;

    pb = pa;   //pa,pb为存放a数值的地址,*pa = 5,*pa = 5,a = 5

    a = 6;       //pa,pb的值不变,*pa = 6,*pa = 6,a = 6
    *pa = 7;   //pa,pb的值不变,*pa = 7,*pb = 7,a = 7

②把数组的首地址赋予指向数组的指针变量

int a[5],*pa;pa=a;

(数组名表示数组的首地址,故可赋予指向数组的指针变量pa)

也可写为:pa=&a[0];

/*数组第一个元素的地址也是整个数组的首地址,

也可赋予pa*/
当然也可采取初始化赋值的方法:

int a[5],*pa=a;

③把字符串的首地址赋予指向字符类型的指针变量

char *pc;pc="abcde";

或char *pc="abcde";

④加减运算

int a[5],*pa;
pa=a; //pa指向数组a,也是指向a[0]

pa=pa+2; //pa指向a[2],即pa的值为&pa[2]

//指针变量的加减运算只能对数组指针变量进行, 对指向其它类型变量的指针变量作加减运算是毫无意义的。


阅读更多
文章标签: c 指针
个人分类: 指针
上一篇矩阵乘法
下一篇字符型指针
想对作者说点什么? 我来说一句

初学者要了解的指针的简介

2009年12月27日 14KB 下载

c与指针(第二版)

2011年09月27日 35.38MB 下载

c++指针详解指针详解

2009年08月26日 95KB 下载

指针的总结指针的总结

2009年04月19日 24KB 下载

C和C和指针C和指针

2011年03月18日 11.25MB 下载

C语言指针课程PPT

2011年06月21日 4.38MB 下载

指针精通指针精通指针精通

2010年08月23日 273KB 下载

指针 指针教程 指针练习

2010年05月27日 6KB 下载

C和指针C和指针C和指针

2010年03月11日 3.25MB 下载

没有更多推荐了,返回首页

关闭
关闭