- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
全国计算机二级C语言知识考点全国计算机二级C语言指针知识考点
【考点1】指针变量指针变量是用来存储地址的,而一般变量是存储数值
的。指针变量可指向任意一种数据类型,但不管它指向的‘数 据占用多少字节,一个指针变量占用四个字节。
【考点2】指针变量的定义
格式为:类型名*指针变量名。二维指针int **p;可以 理解为基类型为(int *)类型。
【考点3】指针变量的初始化
指针变量在使用前必须要初始化,把一个具体的地址赋 给它,否那么引用时会有副作用,如果不指向任何数据就赋
“空值NULLo指针变量两种初始化
方法一:int a=2, *p=a;(定义的同时初始化)方法二:int a=2, *p;(定义之后初始化) p=a;
【考点4】指针变量的引用
是取地址符,*是间接访问运算符,它们是互逆的两个 运算符。在指针变量名前加间接访问运算符就等价它所指向 的量。
【考点5】指针的运算int *p中*p和p的差异:
p可以当做变量来用;*的作用是取后面地址p里面的数 值P是当作地址来使用。
p++和(*2++的之间的差异:改错题目中很重要p++是地址会变化。
(*P)++是数值会要变化。
三名主义:(考试的重点)
数组名:表示第一个元素的地址。数组名不可以自加, 他是地址常量名。(考了很屡次)
函数名:表示该函数的入口地址。
字符串常量名:表示第一个字符的地址。
考试重要的话语:
指针变量是存放地址的。并且指向哪个就等价哪个,所 有出现*P的地方都可以用它等价的代替指向的变量。
例如:int a=2, *p=a;p=*p+2;
(由于*p指向变量a,所以指向哪个就等价哪个,这里*p 等价于a,可以相当于是a=a+2)
全国计算机二级C语言数组知识点复习【考点1】数组的定义
数组是一组具有相同类型的数据的集合,这些数据称为 数组元素。格式为:类型名 数组名[常量表达式]。数组的. 所占字节数为元素个数与基类型所占字节数的乘积。
【考点2】数组的初始化第一维长度可以不写,其它维必须写。
int a[] = {l,2};合法,int ③口 [3]={2,3,4};合法,
int @[2]口 = {2,3,4};非法。
数组初始化元素值默认为0,没有初始化元素值为随机。 如在 int a[5] = {0,1,2};中,元素 a[4]值为 0;而在 int a[5]; 中,元素a[4]值为一个不确定的随机数。
【考点3】元素的引用
数组元素的下标从0开始,到数组长度减1结束。所以 int a[5];中数组最后一个元素是a[4]。要把数组元素看作一 个整体,可以把a[4]当作一个整型变量。
【考点4】二维数组
数组0[2][3] = {1,2,3,4,5,6};中含6个元素,有2行3 列。第一行为a[0]行,第2行为a[l]行,a[0]、列1]叫行首 地址,是地址常量。*(a[0]+l)是第一行第一个元素往后跳一列,即元素值为2, *(a[0]+3)是第一行第一个元素 往后跳三个,即元素值为4。
【考点5】行指针是一个指针变量,占四个字节,行指针指向一行连续数
据,形式为:int(*p)[2];, p只能存放含有两个整型元素的一维数组的首地址。注意(*p)两边的小括号不能省略,否那么 就成了指针数组,是假设干指针元素的集合。
【考点6】数组名
数组名是数组的首地址。数组名不能单独引用,不能通 过一个数组名代表全部元素。数组名是地址常量,不能对数 组名赋值,所以a++是错误的。但数组名可以作为地址与一个 整数相加得到一个新地址。
【考点7】元素形式的转换助记:“脱衣服法那么a[2]变成*(a+2), a[2][3]变成
*(a+2) [3]再可变成*(*(a+2)+3)。这个思想很重要!
二维数组做题目的技巧:
如果有如3] [3]={1,2,3,4,5,6,7,8,9}这样的题目。
步工殳一:把他们写成:第一列第二列第三列a[0]123->第一行
步工
殳一:把他们写成:第一列第二列第三列
a[l]456一〉第二行a[2]789->第三行 步骤二:这样作题目间很简单:
*(a[O]+l)我们就知道是第一行的第一个元素往后面跳一 列,那么这里就是元素,所以是1。
*(a[l]+2)我们就知道是第二行的第一个元素往后面跳二 列。那么这里就是a[l] [2]元素,所以是6O
一定记住:只要是二维数组的题目,一定是写成如上的 格式,再去做题目,这样会比拟简单。
两种重要的数组长度:
char a□={ ‘a‘ 口 b c };数组长度为3,字符串 长度不定。sizeof(a)为3。
char a[5] = { a , b , c }数组长度为 5,字符 串长度 3。sizeof(a)为 5。
文档评论(0)