当前位置: 首页 > news >正文

郑州市哪里有网站建设佛山网站专家

郑州市哪里有网站建设,佛山网站专家,越秀微网站建设,品牌策划公司收费和指针相关的问题口诀1#xff1a; 1. 地址变量得地址#xff0c;得谁地址指向谁 和指针相关的问题要画图: 内容变量画房子#xff0c;指针画箭头 ----口 ---------------------------------------------------- 和指针相关的两个特殊运算符#xff1a; 一、 1. 地址变量得地址得谁地址指向谁 和指针相关的问题要画图: 内容变量画房子指针画箭头 ----口 ---------------------------------------------------- 和指针相关的两个特殊运算符 一、 取地址运算符通过运算符可以取出普通变量的地址 二、*  有两种意义    1.  为指针标志 是否为指针标志主要看前面是否有类型此处有一个int    2.  为指针运算符      在等号右面为取值。*可以取出指针变量所指向的普通变量的值。      在等号左面为赋值。*可以将指针变量所指向的普通变量的值修改为其他。         口诀2 有* 为内容值不是读就是写。等号左面为赋值, 其余都为取值。    3.  为乘法运算符。当且仅当左右的都为变量时。略。 如 int a, b 20, c30, d40, *p; (正确此处的*为指针标志只起到定义的左右没有取值和赋值的作用。是否为指针标志主要看前面是否有类型此处最前面有一个int) pd; 正确p指向d的地址 a*p;  (正确此处的*为取值。最后结果a的值变为了d的值40) *p c; (正确此处的*为赋值。最后结果d的值变为了C的值30) *p b; (运行错误左边为内容值右边为地址不等价) -------------------------------------------------------- 和指针相关的等价表达式 若指针变量p指向变量a即将变量a的地址赋给了指针变量p. 如int a20, int *pa; 则有如下结果 A、*p a B、 p a C、 *p a p D、*a *p a E、 (*p)  a       (*p)--  a--          (*p)  a   *p          --(*p)  --a   --*p 可以看出 * 和 是互逆的两个运算符 -------------------------------------------------------- 所有的指针变量在内存中分配的字节数相同 sizeof(指针) 永远是 两个字节 不管指针定义时是 int *, float * 还是 double * . 详细如下 int *p1;   则 p1以后必须指向int 类型的变量。   但指针本身的长度sizeof(p1) 为2个字节2*8bit -16bit float *p2;   则 p2以后必须指向float 类型的变量。   但指针本身的长度sizeof(p2) 为2个字节2*8bit -16bit double *p3;   则 p3以后必须指向double 类型的变量。   但指针本身的长度sizeof(p3) 为2个字节2*8bit -16bit ----------------------------------------------------------- 四道例题 例子1. void fun (int *x , int *y) {  printf(%d, %d, *x, *y) ;  *x 3;  *y 4;} main(){int x 1, y 2fun(y, x);printf(%d, %d, x, y);} 结果2, 14, 3 注意main在调用fun函数时, y 和x故意写颠倒了。  -------------------------------------------------------------- 例子2.  #include stdio.hvoid swap(int *p1, int *p2){int temp;temp *p1;*p1 *p2;*p2 temp;} main(){int a, b;int * p1 a, *p2 b;scanf(%d %d, p1, p2);swap(p1, p2);prinf(%d, %d, *p1, *p2);} 如果在控制台输入  2 和 5 则输出结果为  5, 2 原因 在调用swap函数时使用了职称所以在swap函数内部对p1,p2 所引用的内容值的修改会影响外面的a和b的值。  -------------------------------------------------------------- 例子3 #include stdio.hvoid swap(int *p1, int *p2){int *temp;temp p1;p1 p2;p2 temp;} main(){int a, b;int * p1 a, *p2 b;scanf(%d %d, p1, p2);swap(p1, p2);prinf(%d, %d, *p1, *p2);} 和2不同 swap函数中的temp为指针tempp1使得temp指向了2p1p2使得p1指向了5p2temp使得p2指向了5. 但最后的打印结果仍为25 原因是虽然main中调用swap函数时使用了指针传递但swap函数中的所有操作都是将指针本身的修改而没有再次使用*操作符来修改“指针指向的内容值” 口诀3没有*的指针操作为地址地址的赋值意味着改指向。 --------------------------------------------------------------------- 例子4 #include stdio.hvoid swap(int *p1, int *p2){int *temp;*temp *p1;*p1 *p2;*p2 *temp;} main(){int a, b;int * p1 a, *p2 b;scanf(%d %d, p1, p2);swap(p1, p2);prinf(%d, %d, *p1, *p2);} 和2很像。但唯一不同是temp定义为指针而不是普通变量。看上去似乎应该和2的输出结果一样仍为25 。 但实际运行时编译器会报错非法的内存写入。 原因是temp为野指针并没有预订指向哪里。如果指向系统区则可能导致操作系统死机或崩溃。 如果temp在定义后马上给一个初始值就不会有问题了。  --------------------------------------------------------------------- 指针、数组的等价符号 若将数组作为形参则将数组名作为指针变量来处理。 int fun(int a[10]) int fun(int *a) int fun(int a[]) 可以看出口诀4  与*互逆。 *与[]等价 与[]互逆   例子5 int s[10], a, b;in d[3][6];   int *p;pa; //p 指向了整数ap s[2]; //p指向了s数组的第二个元素p d[2][4];p指向了d数组的第二行、第四列的元素。 所以以上的语句都是对的。   上面的例子: 1. 定义了一个int s[10];   则 s等同于 s[0].   即看到一个数组就马上联想到他代表的是数组第一个元素的地址。     在C语言中规定数据名代表数组的首地址并且是一个地址常量 2. 另外如果定义了一个指针 int *ppp s;  则   ppp 定价于s,  同时等价于 s[0]。  --------------------------------------------------------------------- 指针的加减 当指针变量指向数组中的某一个地址时指针变量加1后指向数组的下一个元素指针变量减1时指向数组的前一个元素。  例子6   float a[10]; float *p;pa[4] 则p-3指向 先画图 a[0] | a[1] | a[2] | a[3] | a[4] | ... p的初始位置指向了 a[4],  则 p-3 为向前3个指向了 a[1]  口诀5  指针的加减是向前或向后移动了n个元素  --------------------------------------------------------------------- 若 int a[N], *pa; 则有 地址三等价 存在等价表达式 pi ai a[i]  代表的是第i个元素的地址 元素四等价: 存在等价表达式 1.   *(pi)  *(ai)  a[i]   代表的是第i个元素的值 2.  另外还有 p[i]  a[i] 。 p[i] 的用法不多见但无任何错误代表的也是第i个元素的值。原因是p和a完全等价。 整理出来的等价式如下 a) *(pi) *(ai) a[i] p[i]b) p  p   p1   pp1c) p--   --p    p-1    pp-1d) *p     *(p)   说明* 与 的运算优先级一样所以按照从右到左的结合原则先执行后执行*   在p的后面为执行后再加。即先把p的值取出指针再加1.e) *p    *(p)    在p的前面为先加再执行。即先把指针加1 再把移动后的p所指向的值取出f) (*p)    (*p)     *p    将p的内容自增g) (*p)--    --(*p)     --*p    将p的内容自减
http://www.pierceye.com/news/779341/

相关文章:

  • 徐州企业网站制作南宁网站建设专家
  • 雨发建设集团有限公司网站wordpress related posts
  • 成品网站速成网站大连专业app开发设计
  • 十堰门户网站建设中小企业网站制作407
  • 房产网站排行部署自己做的网站吗
  • 一_建设网站前的市场分析平台线上推广策略怎么写
  • 全国网站建设公司排名嘉兴网嘉兴网站建设
  • 渭南网站建设风尚网络python做网站显示表格
  • 网站访问过程服装定制行业的未来和趋势
  • 做拍卖网站多少钱怎么推广一个产品
  • 郑州做公司网站怎么做类似美团的网站吗
  • 网站建设服务公网站备案中是什么意思
  • 书店网站建设网站被k 如何恢复
  • 柳州做网站的企业瓯北网站制作
  • 南京建设银行网站蓬莱市住房和规划建设管理局网站
  • 网站前端用的到ps做教育app的网站有哪些
  • 有没有兼职做网站的低价自适应网站建设
  • 文成网站建设所有关键词
  • 吉林市做网站哪家好建网站的方法
  • 北京做网站的怎样用自己的服务器建设网站
  • 镇江建设局网站开发公司采购招聘
  • 阿里云编辑建设好的网站凡客官网登录入口网址
  • 后盾网原创实战网站建设教程北京app网站建设价格
  • 简述网站建设过程步骤wordpress英文建站
  • 网站开发 mvc有孩子做的网站
  • 自己做的网站如何推广wordpress 主题页脚
  • 数据库型网站怎么把电脑当服务器做网站
  • 东莞网站建设品牌公司如何做电子书网站
  • 免费学做美食视频网站有哪些百度是国企还是央企
  • wordpress 网站关键词设置wordpress 上传主机