PointerandArray指标和阵列.pptVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PointerandArray指标和阵列

Pointer and Array 指標 與 陣列 double *a, b[10]; char name[80], *np; Pointer 指標 指標為正整數(或長正整數)變數,用來存放某特定數態的位址。 double a, c, *b; // a 是 8-byte 浮點實數,b 是 double 指標 b = a; // 將 a 的位址存入 b c = *b; // 將 b 所指向的浮點實數存為 c Scanf(“format string”, list of pointers) int a, *ap; double b, *bp; ap = a; bp = b; scanf(“%d %lf”, ap, bp); // same as scanf(“%d %lf”, a, b); printf(“a=%d b=%lf\n”, *ap, *bp); // same as printf(“a=%d b=%lf\n”, a, b); Some Considerations double a=5.0, *ap; ap = a; =============================== *(a) = ? (*ap) = ? ap = ? printf(“ a = %lf\n”, *ap); printf(“ap = %p\n”,ap); printf(“ %p\n”,ap); printf(“ap = %lx\n”,ap); String = Character Array  字串 char fname[80], achr=’c’, *ap; scanf(“%s”, fname); // fname =“myprog.c” ap = achr; printf(“%c\n”,*ap); // c ap = fname; printf(“%c\n”, *ap); // m printf(“%c\n”, *(ap+1)); // y printf(“%c\n”,*(ap+2)); // p ……… Array is a pointer with fixed address Array of various types char sss[80]; int na[20]; float farry[30]; struct {int n; double x;} sttt[5]; sttt[3].n = 1; sttt[3].x = 8.9; Numeric Array float X[6]; Array as an argument (example) 字串列印 char ss[40]; sprintf(ss,”This is a string.”); // store 17字元 printf(“output = %s\n”,ss); ============================ sprintf(buf, format, variables); buf: 記憶體緩衝區 (字串位址) 。 format:字串,包含變數輸出格式 (與 printf 同) variables:每一 % 格式所對應之變數。 Array and pointer 陣列變數本身是一個指標變數 (pointer) 陣列作為幅數傳遞時,傳遞的是位址 (pass by address) 與其他變數傳值不同 (pass by value) 。 所以、在函數中改變陣列元素的值、會直接改變原呼叫函數中的陣列。 當指標變數被賦予ㄧ位址之後,用法和陣列變數完全相同。 如果指標指向超越陣列定義範圍,會產生 out of range 的錯誤,情況不穩定。 牛頓法解根 (example) Scheme Project. 4 Root of polynomial Using Newton’s method found the root of f(x) = x5 + 2x4 + 4x3 + 8x2+ 3x + 6 with xcrit = 10-8 xinit = 0.0 * * 8076 0.123456789012345 e+05 a = 8076 c = 8084 b 8-byte (*b) a example c achr m y p r o g . c \

文档评论(0)

haowendangqw + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档