前面在讲变量的时候,其中有一个特点就是变量的内存地址,即:变量在内存中实际的保存位置。这个内存地址如何获取?它又有什么意义?
这就涉及到本文要讲到的第一个核心概念:指针。重点包括:指针处理一维数组、动态内存分配等。
C语言的基本数据类型中有一个char的关键词,可以存储单个的字符。那么,像汉字以及由多个字符组成的内容,又该如何存储呢?
这点将涉及到本文第二个核心知识点:字符串及其常规操作。重点包括:字符串处理函数、指针与字符串的关系等。
在计算机二级C语言考试中,很多题目都应用到了指针、字符串、数组、函数等很多知识点糅合在一起的考题。主要考察考生的综合实际操作能力,实践性很强。比如:分别统计字符串中大写字母和小写字母的个数。给定子函数,传入指针参数,要求实现相应的功能。
voidfun(char*s,int*a,int*b){}
备注:有关函数知识点的梳理放在(第五篇)讲解。
01指针
类似于时钟表盘的时分秒的指针,每时每刻都会指向一个数字,表示此刻的时间。亦或是地图,通过地图可以确定我们当前的位置,以及需要达到的目标位置。
1、指针
具有指向性,专门存放其他变量的内存地址。
它其实也是一个变量,也有类型的区分。
2、指针运算
包含一个和一个*,两者为互逆运算,就像加减法、乘除法操作一样。
——获取变量的内存地址,*——获取指针所指向变量的内容。
3、指针可以做什么?
C语言中使用指针可以:
方便地使用字符串有效地表示复杂的数据结构动态分配内存得到多于一个的函数返回值