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

家装设计师网站wordpress关注插件

家装设计师网站,wordpress关注插件,工业控制软件开发,虚拟货币做空网站目录 19.字符指针变量 *定义 *简单说明 *如果是字符串 *像数组一样指定访问常量字符串的字符 *练习 20.数组指针变量 *定义 *格式 *例子 问题1 问题2 *利用指针打印 21.二维数组传参的本质 *回顾 往期推荐 19.字符指针变量 *定义 指向字符的指针变量#xff0c;用于存储字符… 目录 19.字符指针变量      *定义      *简单说明      *如果是字符串      *像数组一样指定访问常量字符串的字符      *练习 20.数组指针变量      *定义      *格式      *例子           问题1           问题2      *利用指针打印 21.二维数组传参的本质      *回顾 往期推荐 19.字符指针变量 *定义 指向字符的指针变量用于存储字符在内存中的地址 #define _CRT_SECURE_NO_WARNINGS #include stdio.h int main() {char a m;char* pc a;return 0; } *简单说明 x86环境下F11逐语句运行至return 0; 转到内存输入a 输入pc 13 fc 6f 00--倒着写--00 6f fc 13--0x006ffc13是a的地址 *如果是字符串 回忆之前的内容 #include stdio.h int main() {char arr[]abcdef;char *pcarr;return 0 } arr数组存储着字符串arr是数组首元素的地址 类比数组如果是字符串 #include stdio.h int main() {char* pc abcdef;return 0; } x86环境下F11逐语句运行至return 0; 转到内存输入pc 同理倒着写地址 地址框中输入0x00f07bcc 就找到了abcdef arr数组是一段连续的空间数组的内容是可以变的所以常量字符串char* pc abcdef;)abcdef\0)也是一段连续的空间常量字符串的内容不可以变类比const修饰 const修饰见38.【C语言】指针重难点C) 写成下方这样程序会崩溃会报错写入权限访问冲突 char* pc abcedf; *pc abc; *像数组一样指定访问常量字符串的字符 printf(%c,abcdef[2]); 访问abcdef常量字符串的第二个字符c 类似于 char arr[]abcdef; printf(%c,arr[2]); 同理 printf(%s,pc); 类似于 char arr[]abcdef; printf(%s,arr); *练习 求输出结果 #include stdio.h int main() {char str1[] abc;char str2[] abc;const char* str3 abc;const char* str4 abc;if (str1 str2)printf(str1 and str2 are same\n);elseprintf(str1 and str2 are not same\n);if (str3 str4)printf(str3 and str4 are same\n);elseprintf(str3 and str4 are not same\n);return 0; } 分析上方代码的不是比较两个字符串的内容是否相等比较字符串相等用的是strcmp函数 这里比的分别是数组首元素的地址和常量字符串首字符的地址 虽然两个数组的内容一样但是abc字符串创建了两次str1和str2存储的数组的首元素的地址不一样所以not same 由于常量字符串具有内容不可以变的特点因此abc没有必要创建两次所以str3和str4是same 下面调用内存说明 x86环境下F11逐语句运行至return 0; 输入str1 输入str2 输入str3 输入str4 str3和str4都是cc 7b fa 00 ,指向地址0x00fa7bcc 20.数组指针变量  *定义 类比字符指针变量的定义数组指针变量存放的是数组指针地址 *格式 数据类型 (*指针变量名称)[数组元素个数]数组名 *例子 问题1以下代码运行是否有错误 #include stdio.h int main() {int arr1[5] { 1,2,3,4,5 };int* p1 arr1;int arr2[5]{ 0 };int *p2[5] arr2;int arr3[5]{ 0 };int (*p3)[5] arr3;int arr4[5]{ 0 };int* (*p4)[5] arr4;return 0; } 分析p2的定义出了问题 由操作符运算优先级见15.25【C语言】操作符的属性可知*p2[5]代表数组不能为数组赋值arr [ ]的优先级要高于*号的所以必须加上来保证p先和*结合表明p2是指向数组的指针变量即数组指针变量也就是定义p3的写法 问题2p1p3p4的定义有什么区别 去除int *p2[5]arr;这一行后打开调试模式x86环境下F11逐语句运行至return 0; 监视arr,p1,p3,p4 打开内存 输入p1 输入p3 输入p4 显然p1是整型指针p3是数组指针指向整个含5个int元素的数组的指针p4是数组指针指向含5个int*指针的数组的指针 *利用指针打印 p--arr *p--*arr即arr 21.二维数组传参的本质 *回顾 见13.5.【C语言】二维数组 *打印 写法1实参形参全是二维数组 #include stdio.h void test(int a[3][5], int r, int c) {int i 0;int j 0;for(i0; ir; i){for(j0; jc; j){printf(%d , a[i][j]);}printf(\n);} }int main() {int arr[3][5] {{1,2,3,4,5}, {2,3,4,5,6},{3,4,5,6,7}};test(arr, 3, 5);return 0; } 写法2指针 回顾一维数组的数组名是首元素单个“0”维数组的地址可以推出二维数组的数组名是首元素第一行一维数组的地址同理三维数组的数组名是首元素二维数组的地址 所以可以用指针访问 对上方代码略加改动 #include stdio.h void test(int (*p)[5], int r, int c) {int i 0;int j 0;for (i 0; i r; i){for (j 0; j c; j){printf(%d , p[i][j]);}printf(\n);} }int main() {int arr[3][5] { {1,2,3,4,5}, {2,3,4,5,6},{3,4,5,6,7} };test(arr, 3, 5);return 0; } 打印时p[i][j]有别的写法 如   *(pi)[j],*(*(pi)j) 总结二维数组传参的本质传递了地址传递的是第一行这个一维数组的地址 往期推荐 19.【C语言】指针重难点A 37.【C语言】指针重难点B 38.【C语言】指针重难点C) 39.【C语言】指针重难点D 40.【C语言】指针重难点E 43.【C语言】指针重难点F)
http://www.hkea.cn/news/14453176/

相关文章:

  • Python做网站 性能网页版游戏排行榜田田田田田田田田
  • 网站建站基本要素微信登录建设银行网站
  • 国家城乡住房建设部网站手机如何做微商城网站
  • 网站后台批量上传图片企业年金办法
  • 渝中网站建设中国海峡建设公司官网
  • 手机p2p网站建设海南智能网站建设公司
  • 泉州建站模板系统九一制作网站
  • 网站建设公司方唯58网站建设 网站制作
  • 扬州专业手机网站开发阿里巴巴做网站接单几率
  • 公司网站免费模板网站设计制作
  • 国外移动网站设计企业展厅设计效果图
  • wordpress能做企业站吗网站设计依赖于什么设计
  • 天津住房和城乡建设建造师网站高州手机网站建设公司
  • asp.net 跳转别的网站sae wordpress 4.3
  • 网站群建设管理规定ui设计的网站有哪些
  • 东莞商城网站建设哪里比较好wordpress如何集成小工具功能
  • 秦皇岛外贸网站建设惠州网站设计哪家好
  • 在北京建网站班级网站建设策划书
  • 网站图片添加alt标签seo推广员招聘
  • 福田网站优化永久免费随身wifi
  • 做外国购物网站需要交税吗企业网站推广的策略
  • 用地方名字做网站动漫设计与制作好学吗
  • 山东省住房和城乡建设厅官网证书查询三明网站seo
  • 网站内链结构是什么意思优化服务是什么意思
  • 全国做网站哪家好酒水销售网站模板
  • pc官方网站参考文献网站开发
  • 免费打开的网站西安做网站公司魔盒
  • 北京专业网站设计报价深圳官方网站建设
  • 传奇怎么做网站怎么做网站横幅
  • php钓鱼网站开发白城北京网站建设