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

建个人网站一般多少钱ppt下载网站哪个好

建个人网站一般多少钱,ppt下载网站哪个好,公司起名生成器,阿里云建站费用文章目录 1.字符指针变量2.数组指针变量3.函数指针变量4.函数指针数组5.二维数组传参本质6.拓展补充希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力#xff01; 本章节接着学习常见的指针变量类型 1.字符指针变量 字符指针变量#xff0c;顾名思义就是字… 文章目录 1.字符指针变量2.数组指针变量3.函数指针变量4.函数指针数组5.二维数组传参本质6.拓展补充希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力 本章节接着学习常见的指针变量类型 1.字符指针变量 字符指针变量顾名思义就是字符类型的指针即 char* 常见的输出格式是这样的 int main() {char ch w;char *pc ch;*pc w;return 0; }这是存放一个字符的情况如果存放字符串呢? int main() {const char* pstr hello bit.;printf(%s\n, pstr);return 0; }乍一看是存放字符串在指针变量中但我们要记住指针变量是用来存放地址的 所以这里本质是把字符串 hello bit. 首字符的地址放到了pstr中即字符 h 的地址 2.数组指针变量 上一篇 vlog 学到了指针数组就是存放指针的数组也可以理解为存放指针的集合(元素相同)那么数组指针就可以得出是存放数组地址的指针是一种指针变量指向数组 int *p1[10]; int (*p2)[10];那么以上哪种是数组指针 答案是下面那个 分析[ ] 的优先级大于 * 所以必须加上 [ ] 来保证 p 和 * 优先结合 p先和 * 结合说明p是一个指针变量然后指针指向的是一个大小为10个整型的数组 所以 p 是一个指针指向一个数组叫数组指针 int 表示 p指向的数组的元素类型 p 是数组指针变量名10是指向数组的元素个数 3.函数指针变量 根据前面学过的类比不难发现函数指针变量应该是用来存放函数地址的通过地址能够调用函数的 那么函数真的有地址吗 #include stdio.h void test() {printf(hehe\n); } int main() {printf(test: %p\n, test);printf(test: %p\n, test);return 0; }通过以上代码可以发现函数确实有地址用函数名就能代表其地址当然也可以通过 函数名 的方 式获得函数的地址为了方便一般就不写取地址符 其语法形式为 int(*pf3)(int, int) Add; int(*pf3)(int x, int y) Add;函数参数的变量名可写可不写取地址符也是 int 是指向函数的返回类型pf3 是函数指针变量名int xint y 是 pf3 指向函数的参数类型和个数 #include stdio.h int Add(int x, int y) {return xy; } int main() {int(*pf3)(int, int) Add;printf(%d\n, (*pf3)(2, 3));printf(%d\n, pf3(3, 5));return 0; }可以将通过函数指针调用指针指向的函数写一个我们之前写过的加法函数 这里通过解引用函数指针 pf3 的方式来调用它所指向的函数也就是 Add 函数传入参数 2 和 3然后将返回的结果使用 printf 函数输出。实际上在这种情况下解引用操作符 * 在这里是可选的因为在 C 语言中函数名本身在求值时就会转换为指向该函数的指针所以也可以直接写成 pf3(2, 3) 4.函数指针数组 在学习了指针数组的基础上我们引入函数指针放入数组 那么以下哪种为正确的形式 int (*parr1[3])(); int *parr2[3](); int (*)() parr3[3];答案是第一个 定义形式如下返回值类型 (*数组名[数组大小])(参数列表) parr1 先和 [ ] 结合说明 parr1是数组是 int (*)() 类型的函数指针 那么参数如何理解其实就是每个元素代表的函数 #include stdio.hint add(int a, int b) {return a b; }int subtract(int a, int b) {return a - b; }int main() {int (*func_array[2])(int, int) {add, subtract};return 0; }在上述代码中func_array 数组的两个元素分别被初始化为 add 函数和 subtract 函数的指针 5.二维数组传参本质 讲数组的时候说过二维数组其实可以看做是每个元素是一维数组的数组也就是二维数组的每个元素是一个一维数组那么二维数组的首元素就是第一行是个一维数组 第一行的一维数组的类型就是 int [5] 所以第一行的地址的类型就是数组指针类型 int(*)[5] 那就意味着二维数组传参本质上也是传递了地址传递的是第一行这个一维数组的地址那么形参也是可以写成指针形式的总的来说就是把二维数组当一维数组理解第一行看成一维数组的第一个元素首元素就是第一行一整行的地址 #include stdio.hvoid test(int (*p)[5], int r, int c){int i 0;int j 0;for(i0; ir; i){for(j0; jc; j){printf(%d , *(*(pi)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; }普通的遍历数组传参也可以这样写 这里的 *(pi) 相当于获取二维数组的第 i 行的首地址因为 p 是指向包含 5 个整数的数组的指针pi 就指向了第 i 行然后 *(pi)j 就是指向第 i 行第 j 列元素的指针最后 ((pi)j) 就是获取该位置的元素值并输出 虽然解引用通常是获取元素本身但在指向二维数组行的指针这种特殊情况下由于指针所指向的对象本身就是一个数组解引用得到的就是这个数组的首地址这是由 C 语言的指针和数组特性共同决定的 二维数组传参形参的部分可以写成数组也可以写成指针形式 6.拓展补充 补充一个关键字 typedef 是用来类型重命名的可以将复杂的类型简单化 普通类型 typedef unsigned int uint; //将unsigned int 重命名为uint普通指针类型 typedef int* ptr;数组函数指针类型 typedef int(*parr)[5]; //新的类型名必须在*的右边 typedef void(*pfun)(int);//新的类型名必须在*的右边下一期 vlog 将对二分查找转移表冒泡排序等常见算法题目进行练习解析 建议对前面的知识都有系统性的理解后再来写题 主页传送门DARLING Zero two♡ 的 blog 希望读者们多多三连支持 小编会继续更新 你们的鼓励就是我前进的动力
http://www.w-s-a.com/news/476014/

相关文章:

  • 网站建设比赛网站建设合同标的怎么写
  • 中国做的儿童编程网站网站建设模板网站
  • 电脑做系统网站微信开店
  • site之后网站在首页说明说明网络舆情分析师怎么考
  • 本溪网站建设兼职wordpress lapa
  • 官网网站设计费用vue大型网站怎么做路由
  • 青海省安建设管理部门网站厦门网站快照优化公司
  • 张家港建网站公司网站开发 认证
  • 网站建设方式优化兰州医院网站制作
  • 怎么创造网站wordpress伪静态规则怎么写
  • 自己怎么做一元购物网站信誉好的合肥网站推广
  • 做网站的骗术有什么好的网站设计思想的博客
  • 网站建设工作 方案企查查企业信息查询在线
  • 上海外贸建站商城定制软件安卓
  • 成都网站建设_创新互联wordpress 相邻文章
  • 电子商务网站制作步骤免费建网站知乎
  • 龙岩有什么招聘本地网站团购网站 方案
  • 服务器运行一段时间网站打不开注册公司名字核名查询系统
  • 企业网站改版的意义响应式网站建设新闻
  • 大连金州新区规划建设局网站金坛市建设局网站
  • 有哪些做排球比赛视频网站wordpress 教师工作坊
  • 深圳好点的网站建设公司互联网企业信息服务平台
  • 下载空间大的网站建设哈尔滨网站制作软件
  • 南城网站仿做无锡网站制作哪家价格便宜
  • c做的网站营销策划课程
  • 免费网站404免费进入重庆的公需科目在哪个网站做
  • 网站空间租用费用网站建设公司怎么宣传
  • 镇江网站建设优化案例分析dw2018网页制作步骤图文
  • 网站开发一个多少钱为什么前端都不用dw
  • 网站降权的原因北京中小企业网站建设公司