1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.指针

总结 * 指针与二维数组 内存 a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] 12 14 16 18 20 a 22 a[1][2] int (*p)[3]; p=a; *(p+1)+1 控制列下标 * 指针与二维数组 内存 a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] 12 14 16 18 20 a 22 a[1][2] int (*p)[3]; p=a; *(*(p+1)+1) 得到二维数组元素 * 指针与二维数组 下标形式 指针形式 a[i] p+i a[i] *(p+i) a[i][j] *(p+i)+j a[i][j] *(*(p+i)+j) 内存 a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] 12 14 16 18 20 a 22 a[1][2] int *p[3]; p=a; * int x=100; int *px,**py; px=x; py = px; 指针的指针 100 1245052 1245052 x py px 1245048 1245044 1245048 printf(x=%d\n,x); printf(*px=%d\n,*px); printf(*py=%d\n,*py); printf(**py=%d\n,**py); x=100 *px=100 *py=1245052 **py=100 * 数组元素为指针 内存 int *p[3]; //区别int (*p)[3] int x=1,y,z[3]={0}; p[0] = x; p[1] = y; p[2] = z; printf(%d\n,*p[0]); printf(%d\n,p[2][2]); //*(*(p+2)+2) x p 1245044 1 x y y z 1245048 1245052 0 z 1245040 1 2 * 数组元素为字符串 数组元素为字符串(字符指针) char *names [4] = {Apple, Pear, Peach, Banana}; Apple\0 Pear\0 Banana\0 Peach\0 EE05 EE20 EE44 EE87 names 各字符串的首地址 * 指向函数名的指针 函数是一段具有独立功能的代码,存放在内存的程序区 函数名就是函数的入口地址(首地址) 因此,可以用指针指向函数(入口地址) #include stdio.h void f1(int x, int y) { printf(%d\n,x-y); } void f2(int x, int y) { printf(%d\n,x+y); } void main() { void (*g) (int x, int y); g=f1; g(5,6); g=f2; g(5,6); } * main函数的参数和返回值 在ANSI C标准中,定义的主函数只有两种原型: int main(void); int main(int argc, char* argv[]); int返回值传递给操作系统,语义为:零表示正常,非零表示出现了某种错误。 int main(void) { ... return 0; } * main函数的参数和返回值 #include stdio.h void main(int argc, char *argv[]) { int i; for(i=0;iargc;i++) printf(%s\n,argv[i]); } int argc:表示命令行参数的个数。 char *argv[]: 表示命令行参数的内容。argv是指向字符串的指针数组。 * main函数的参数和返回值 Vc编译器方式-main参数 Project-Settings-Debug * main函数的参数和返回值 操作系统命令行方式-main参数 cmd命令行-可执行文件名 参数1 参数2 ... 总结2-1 指针是一个保存对象地址的变量。 指针的声明由基本类型、星号 (*) 和变量名组成,例:int *p; *p表示取p所指向的变量 总结2-2 指针的移动,将指针执行加上或者减去一个整数值n的运算相当于指针向前或向后移动n个数据单元 指针可以执行比较相等的运算,用来判断两个指针是否指向同一个变量 * 总结2-3 指针与数组 int *p; //p是指针,可指向一维整型数组, int a[4] int *p[3]={x,y}; //p是数组,每个元素是指针 int (*p)[3]; //p是指针,指向列为3的二维数组, int a[2][3] 数组可使用指针方式模仿下标方式 字符指针与字符串 c

文档评论(0)

mv2323 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档