网上科普有关“计算机二级考试《C语言》知识点归纳(3)”话题很是火热,小编也是针对计算机二级考试《C语言》知识点归纳(3)寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。
第六章
指针变量的本质是用来放地址,而一般的变量是放数值的。
int *p 中 *p和p的差别:
*p可以当做变量来用;*的作用是取后面地址p里面的数值
p是当作地址来使用。
*p++ 和 (*p)++的之间的差别:改错题目中很重要
*p++是 地址会变化。
(*p)++ 是数值会要变化。
三名主义:(考试的重点)
数组名:表示第一个元素的地址。数组名不可以自加,
他是地址常量名。(考了很多次)
函数名:表示该函数的入口地址。
字符串常量名:表示第一个字符的地址。
第七章
1一维数组的重要概念:
对a[10]这个数组的讨论。
1、a表示数组名,是第一个元素的地址,也就是
元素a[10]的地址。
2、a是地址常量,所以只要出现a++,或者
是a=a+2赋值的都是错误的。
3、a是一维数组名,所以它是列指针,也就是
说a+1是跳一列。
对a[3][3]的讨论。
1、a表示数组名,是第一个元素的地址,也就是
元素a[10]的地址。
2、a是地址常量,所以只要出现a++,或者
是a=a+2赋值的都是错误的。
3、a是二维数组名,所以它是行指针,也就
是说a+1是跳一行。
4、a[0]、a[1]、a[2]也都是地址常量,不可以对
它进行赋值操作,同时它们都是列指针,a[0]+1,
a[1]+1,a[2]+1都是跳一列。
5、注意a和a[0] 、a[1]、a[2]是不同的,它们的
基类型是不同的。前者是一行元素,后三者是一列元素。
二维数组做题目的技巧:
如果有a[3][3]={1,2,3,4,5,6,7,8,9}这样的题目。
步骤一:把他们写成:
第一列 第二列 第三列
a[0]? 1 2 3 ->第一行
a[1]? 4 5 6?>第二行
a[2]? 7 8 9->第三行
步骤二:这样作题目间很简单:
*(a[0]+1)我们就知道是第一行的第一个元素往后
面跳一列,那么这里就是a[0][1]元素,所以是1。
*(a[1]+2)我们就知道是第二行的第一个元素往后面
跳二列。那么这里就是a[1][2]元素,所以是6。
一定记住:只要是二维数组的题目,一定是写成如
上的格式,再去做题目,这样会比较简单。
数组的初始化,一维和二维的,一维可以不写,
二维第二个一定要写
int a[]={1,2} 合法。 int a[][4]={2,3,4}合法。
但int a[4][]={2,3,4}非法。
二维数组中的行指针
int a[1][2];
其中a现在就是一个行指针,a+1跳一行数组元素。
搭配(*)p[2]指针
a[0],a[1]现在就是一个列指针。a[0]+1 跳一个数组
元素。搭配*p[2]指针数组使用
还有记住脱衣服法则:
a[2] 变成 *(a+2) a[2][3]变成 *(a+2)[3]再
可以变成 *(*(a+2)+3)
1.指针的使用和本质分析
(1)初学指针使用注意事项
1)指针一定要初始化,否则容易产生野指针(后面会详细说明);
2)指针只保存同类型变量的地址,不同类型指针也不要相互赋值;
3)只有当两个指针指向同一个数组中的元素时,才能进行指针间的运算和比较操作;
4)指针只能进行减法运算,结果为同一个数组中所指元素的下标差值。
(2)指针的本质分析
①指针是变量,指针*的意义:
1)在声明时,*号表示所声明的变量为指针。
例如:int n = 1; int* p = &n;
这里,变量p保存着n的地址,即p<—>&n,*p<—>n
2)在使用时,*号表示取指针所指向变量的地址值
关于“计算机二级考试《C语言》知识点归纳(3)”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!
本文来自作者[admin]投稿,不代表东南号立场,如若转载,请注明出处:https://dnflianfa.com/cshi/202502-14851.html
评论列表(4条)
我是东南号的签约作者“admin”!
希望本篇文章《计算机二级考试《C语言》知识点归纳(3)》能对你有所帮助!
本站[东南号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育
本文概览:网上科普有关“计算机二级考试《C语言》知识点归纳(3)”话题很是火热,小编也是针对计算机二级考试《C语言》知识点归纳(3)寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你...