指针说白了就是地址.
指针变量就是用来存放指针(地址)的变量。
两个有关的运算符:
& 取地址运算符 &a 就代表变量a的地址
* 指针运算符 *a 就代表变量a的值
C语言规定,数组存储空间的首地址存放在数组名中,即数组名指向下标为0的数组元素。
由此可知数组名不仅是一个标识名字,它本身又是个地址量。由于数组的存储位置是系统分配的
,用户不能任意改变位置,所以,表示数组存储起始位置的数组名是个地址常量。另外,数组中的
每个元素都有地址,其表示形式为:&数组名[下标],其值也是地址常量。
如:数组a的首地址为a或&a[0],数组元素a[3]的地址为&a[3].
1.指向一维数组元素的指针变量
int *p;
定义p为指向整型变量的指针变量,若有下面赋值语句:
p = &a[3];
则把元素a[3]的地址赋给指针变量p。
可以在定义指针变量的同时,把数组元素的地址初始化给指针变量.例如:
int a[10],*p=a;
它等价于:
int a[10],*p;
p=a;
其作用是把数组a的起始地址,即a[0]的地址赋给指针变量p。
需要注意到是:指针变量的类型必须与它指向的数组元素的类型一致.
定 义 含 义
Int I; 定义一个整型变量I
Int *p; P为指向整型数据的指针变量
Int a[n]; 定义整型数组a,它有n个元素
Int *p[n]; 定义指针数组p,它有n个指向整型的指针元素
Int (*p)[n]; P为指向含有n个元素的一维数组的指针变量
Int f(); F为返回整型值的函数
Int *p(); P为返回值为指针的函数,该指针指向整型数据
Int (*p)(); P为指向函数的指针,该函数返回一个整型值
Int **p; 定义一个指向指针的指针变量
---------------------------------------------------------------------------------
const char*和char* const
指向常量的指针
指针常量
1.指向常量的指针
对一个利用const char*类型定义的常量指针来说,不能修改其指向的内存中的内容,但可以
修改其所指向的内存地址。
2.指针常量
指针值不可修改
指向的内容可以修改
const char*类型的指针(指向常量的指针)其所指向的内容是常量,是不可以修改的,但其指针值是可以修改的。但对于char* const类型的指针(常量指针)来说,它的地址是一个常量,也就是说,它的指针值是常量,不可以修改,但其指向的内容是可以修改的。
分享到:
相关推荐
C语言数组与指针详解,对新人很有帮助的,共享出来让大家看看
浅析C语言数组与指针.pdf
C语言数组和指针详解,C语言的灵魂!总结详细,实例经典!
C语言数组 C语言数组指针与编程技巧 C语言数组指针
数组与指针的艺术 数组与指针的艺术
c语言中 数组名和指针的区别 来自知网的论文
指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大 学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是...
掌握数组的使用 了解多维数组的使用 掌握指针的概念和使用 了解多级指针的概念
C语言程序设计 常东超 吕宝志 郭来德编著 第六章所有例题
C语言数组和指针的学习和教学
c语言指针数组与指针的指针,认清指针与数组的关系.
关于数组与指针,特别特别详细哦,亲们,记得下载哦
在C语言中数组和指针之间存在一些千丝万缕的联系,搞不清楚的情况下非常容易出错,在前一段时间我写过关于数组和指针的分析,但是还是存在很多不清楚的问题,特别是当出现一些复杂的问题时,这种情况更加的复杂。...
C语言数组指针与指针数组的相关总结
C语言中数组与C语言中数组与指针的使用技巧指针的使用技巧C语言中数组与指针的使用技巧
C语言 指针数组与指针的指针,PPT格式的
数组与指针.doc ,通俗易懂的讲解C语言的数组与指针
浅议C语言中数组和指针的互操作浅议C语言中数组和指针的互操作浅议C语言中数组和指针的互操作浅议C语言中数组和指针的互操作
引入数组指针后,我们就有两种方案来访问数组元素了,一种是使用下标,另外一种是使用指针。1) 使用下标也就是采用 arr[i] 的形式访问数组元素。如果 p 是指