- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
变量的存储类别 主要分两大类:静态存储和动态存储。 具体包含四小类: 自动的(auto),静态的(static), 寄存器的(register),外部的(extern)。 主要掌握不同类型的特点(那些变量各属于什么类型?什么时候分配存储空间?什么时候释放存储空间?不同类型的变量如何赋值?不同类型的变量的有效区域多大?) 内部函数与外部函数 内部函数: 如果一个函数只能被本文件中的其他函数调用,称为内部函数。也叫静态函数。 内部函数的定义方式为: static 函数类型 函数名(形参列表) 这样定义的函数只局限于所在文件,其他文件不能使用。如果在不同的文件中有同名的内部函数,它们互补干扰。 在定义函数时前边加关键字extern,则该函数为外部函数,这样定义的函数不仅可以被本文件使用,还可以被其他文件使用。外部函数在定义时可以省略关键字extern。 其他文件调用外部函数时,需用extern加以说明 第九章 编译预处理 一、宏定义 二、文件包含 三、条件编译* 要求:能正确地进行宏替换 第十章 指针 一、指针与指针变量 二、指针变量的定义 三、一维数组与指针 四、字符串与指针 五、二维数组与指针 六、指向数组的指针和指针数组 七、指针作为函数参数 八、返回值为指针的函数和指向函数的指针 九、指向指针的指针 十、指针运算 一、指针与指针变量 指针:地址 指针变量:存放指针(地址)的变量 指向:指针变量指向所存地址对应的变量。 二、指针变量的定义 定义格式: 基类型 *变量名; 如:int *p; 三、一维数组与指针 如果有以下定义: int a[10],*p; p=a; 说出下列表示的含义: a,p,a[0], a[5],a+5,p+5, a[7],*(a+7),*(p+7),p[7]; a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 或者: int a[10],*p=a; 四、字符串与指针 因为字符串一般存放到一维字符数组中,故指向字符串的指针可以看成是指向一维字符数组的指针 用指针指向一个字符串以后,可以用指针对字符串进行操作。 判断下列写法哪些正确,哪些错误? char s[]=“china”; char s[10]; s=“china”; char s[10]; s[10]=“china”; char *p=“china”; char *p; p=“china”; char s[10],*p; *p=“china”; char s[10],*p=s; p=“china”; 五、二维数组与指针 a[0]+0 a[0]+1 a[0]+2 a[0]+3 a[0][0] a[0][1] a[0][2] a[0][3] a[1]+0 a[1]+1 a[1]+2 a[1]+3 a[1][0] a[1][1] a[1][2] a[1][3] a[2]+0 a[2]+1 a[2]+2 a[2]+3 a[2][0] a[2][1] a[2][2] a[2][3] a a+1 a+2 a[0] a[1] a[2] 若有如下定义: int a[3][4], *p; p=a[0][0]; p=a; 五、二维数组与指针 说出下列表示的含义:设a[0][0]=2000 表示形式 含义 值 a a[0],*(a+0),*a a+1,a[1] a[1],*(a+1) a[1]+2,*(a+1)+2,a[1][2] *(a[1]+2), *(*(a+1)+2), a[1][2] 思考:a与*a,a[1]与a[1]的值相同,但他们有什么不同? 第0行首地址 第0行第0列的地址 第1行首地址 第1行第0列的地址 第1行第2列的地址 第1行第2列的元素 2000 2000 2008 2008 2012 六、指向数组的指针和指针数组 如何令一个指针指向一行? 定义 指向数组的指针变量: 定义格式:类型 (*指针名)[个数] 如:int (*p)[4]; 若有定义int a[3][4],(*p)[4]; 则可以p=a; 如果一个数组的元素都是指针变量,则这个数组称为指针数组。 定义方式:类型 *p[数组大小]; 例如:char *p[3]; 定义了一个指针数组,包含三个指针元素。 注意与指向数组的指针变量的区别。 指针数组常用于处理多个字符串。 七、指针作为函数参数 3、实参与形参的数据类型必须一致。 1、当实参为数组名时,形参可以为数组,也可以为指针变量 2、当形参为数组时,实参可以为数组名,也可
文档评论(0)