ImageVerifierCode 换一换
格式:DOC , 页数:3 ,大小:79.50KB ,
资源ID:3526560      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3526560.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C指针总结.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

C指针总结.doc

1、C/C+指针经验总结笔记 01 1: int p; /定义整型变量02 2: int *p; /定义一个整型指针03 3: int p3; /定义一个整型数组04 4: int *p3; /定义一个整型指针数组(操作符优先级高于*操作符)05 5: int (*p)3; /定义一个指向数组的指针06 6: int *p; /定义一个指针的指针07 7: int p(int); /定义一个有一个整型参数且返回值为整型的函数08 8: int (*p)(int); /定义一个指向有一个整型参数且返回值为整型的函数的指针09 9: int *(*p(int)3; /定义一个参数为整型返回值指向由整型

2、指针组成的数组的函数10 指针是一个特殊的变量(常量),它里面存储的数值被解释成为内存里的一个地址。11 12 指针的类型:13 从语法的角度看,只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。14 1: int *ptr; /指针类型:int *15 2: char *ptr; /指针类型:char *16 3: int *ptr; /指针类型:int *17 4: int (*ptr)3; /指针类型:int (*)318 5: int *(*ptr)4; /指针类型:int *(*)419 指针所指向的类型:20 从语法上看,把指针声明语句中的指针名字和名字左边的指针说

3、明符*去掉,剩下的就是指针所指向的类型。21 1: int *ptr; /指向:int22 2: char *ptr; /指向:char23 3: int *ptr; /指向:int *24 4: int (*ptr)3; /指向:int ()325 5: int *(*ptr)4; /指向:int *()426 指针指向的地址:27指针的值是指针本身存储的数值,这个值被编译器当做一个地址,而不是一个一般的数值。在 32 位程序里,所有类型的指针的值都是一个 32 位整数,因为 32 位程序里的内存地址全都是 32 位长。指针指向的内存区就是从指针的值所代表的那个内存地址开始,长度为 size

4、of 的一片内存区。指针指向了某块内存区域的首地址。28 指针本身所占据的内存区:29 用 sizeof 操作符可以获得指针本身占了多大内存。在 32 位平台里,指针本身占据了 4 个字节的长度。30 指针的算术运算:31指针可以加上或减去一个整数。指针的这种运算的意义和通常的数值加减运算的意义不一样,以单元为单位。一个指针加或减一个整数 n 后,结果是一个新的指针。新指针和原来的指针类型相同,所指向的类型也相同。新指针比原来的指针的值增加或减少了 n*sizeof(指针所指向类型)个字节。32 两个指针不能进行加法运算,这是非法操作,因为进行加法后,得到的结果指向不明,而且毫无意义。两个指针

5、刻意进行减法运算,但类型必须相同。33 运算符52 4: int b;53 5: int c;54 6: ;55 7: 56 8: struct mystruct ss=20,30,40;57 9: struct mystruct *ptr=58 可以通过指向运算符-来使用指针访问结构成员变量。59所有 C/C+编译器在排列数组的元素时,总是把各个数组元素存放在连续的存储区里,元素和元素之间没有空隙。但在存放结构对象的各个成员时,在某种编译环境下,可能会需要字对齐、双字对齐或其他对齐方式,需要在相邻两个成员之间加若干个“填充字节”。这将导致各个成员之间可能会有若干个字节的空隙。所以不能通过*(

6、ptr+n)的方式来访问结构成员。60 61 62 指针和函数的关系:63 64 可以把一个指针声明成为一个指向函数的指针。65 66 1: int fun1(char *,int);67 2: int (*pfun1)(char *,int);68 3: pfun1=fun1;69 4: int a=(*pfun1)(“xxxxxxxx”,8);70 可以把指针作为函数的形参。在函数调用语句中,可以用指针表达式来作为实参。71 72 指针类型转换:73 如果有一个指针 p,需要把它的类型和所指向的类型改为 TYPE *TYPE,那么语法格式是:(TYPE *)p;74强制转换的结果是一个新指

7、针,该指针的类型是 TYPE *,它指向的类型是TYPE,它指向的地址就是原指针指向的地址。而原来的指针 p 的一切属性都没有被修改。75 一个函数如果使用了指针作为形参,那么在函数调用语句的实参和形参的结合过程中,必须保证类型一致,否则需要强制转换。76 指针的安全问题:77 在使用指针时,必须非常清楚指针究竟指向了哪里。在用指针访问数组的时候,也要注意不要超出数组的低端和高端界限,否则也会造成类似的错误。78在指针的强制类型转换:ptr1=(TYPE*)ptr2 中,如果 sizeof(ptr2 的类型)大于 sizeof(ptr1 的类型),那么在使用指针 ptr1 来访问 ptr2 所指向的存储区时是安全的。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。