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

智能化建设网站营销 推广 网站

智能化建设网站,营销 推广 网站,中信建设有限责任公司崔玮,seo网站推广培训前言#xff1a;总篇章分为#xff08;1#xff09;和#xff08;2#xff09;#xff0c;本篇内容包括#xff1a;指针数组#xff0c;数组指针#xff0c;数组名与数组名的区分 数组传参 #xff0c;函数指针#xff0c;函数指针数组 part 1#xff1a;指…前言总篇章分为1和2本篇内容包括指针数组数组指针数组名与数组名的区分 数组传参 函数指针函数指针数组 part 1指针数组 指针数组是存放指针的数组 int* arr1[10]; //整形指针的数组——数组10个元素每个元素的类型是整型指针int* char *arr2[4]; //一级字符指针的数组——数组4个元素每个元素的类型是字符指针char* char **arr3[5];//二级字符指针的数组——数组5个元素每个元素的类型是二级字符指针 part 2数组指针  数组指针是指向数组的指针 int (*p)[10];   数组指针 解释p先和*结合表明p是一个指针指向一个数组数组10个元素每个元素的类型是int 数组指针的使用比如打印一个二维数组 void print_arr(int(*arr)[5], int row, int col) {int i 0;for (i 0; i row; i){int j 0;for (j 0; j col; j){printf(%d , arr[i][j]); // 或者 *(*(arri)j) // 因为arr是二维数组第一行的地址即arr指向了第一行// arri:可以指向二维数组的第i行代表的是第i行的地址// *arri)就可以得到第i行的数组名//比如 int arr[10] { 1,2,3,4,5,6,7,8,9,10 };//int (* p)[10] arr;//p --- arr//*p --- *arr//*p --- arr}printf(\n);} } int main() {int arr[3][5] { 1,2,3,4,5,6,7,8,9,10 };print_arr(arr, 3, 5);return 0; }我们知道数组指针中存放的是数组的地址 二维数组的数组名arr数组名是数组首元素的地址即二维数组的数组名是二维数组首元素的地址 二维数组的首元素是第一行即第一行的一维数组 故而二维数组的数组名arr代表的是第一行的地址即一个一维数组的地址需要使用数组指针接收int(*arr)[5]    辨析指针数组和数组指针 int arr[5]; //数组 int *parr1[10]; // 整型指针数组 - parr1是一个数组数组10个元素每个元素的类型是int* int (*parr2)[10]; // 整型数组指针 - parr2是指针指向一个数组数组10个元素每个元素的类型是int int (*parr3[10])[5]; // 存放整型数组指针的数组 - parr3是数组10个元素每一个元素都是数组指针part 3 数组名与数组名的区分 数组名在绝大部分情况下是数组首元素的地址 只有两个特殊情况下数组名代表整个数组 特殊情况1sizeof数组名此时的数组名代表整个数组sizeof计算的是整个数组的大小 特殊情况2数组名此时取出的是整个数组的地址 part 4 数组传参 一维数组传参 #include stdio.h //数组形式接收 void test(int arr[])//ok {} void test(int arr[10])//ok {} //指针形式接收 void test(int *arr)//ok {}void test2(int *arr[20])//ok {} void test2(int **arr)//ok - arr2是数组名即数组首元素的地址即int*的地址一级指针的地址用二级指针接收 {}int main() {int arr[10] {0};int *arr2[20] {0};test(arr);test2(arr2); } 二维数组传参  void test(int arr[3][5])//ok {} void test(int arr[][])//NO 行可以省略列不能省略 {} void test(int arr[][5])//ok {} void test(int *arr)//NO arr是二维数组的数组名是二维数组首元素即第一行的一维数组的地址需要使用数组指针接收 {} void test(int* arr[5])//NO {} void test(int (*arr)[5])//ok {} void test(int **arr)//NO {} int main() {int arr[3][5] {0};test(arr); } part 5函数指针 函数名和函数名都是函数的地址 void test() {printf(hehe\n); } 存放以上函数地址的函数指针void (*p)() 解读p先和*结合说明p是一个指针p后面有说明p指向一个函数函数无参返回类型是void 当有了函数地址后要通过函数指针对函数进行调用可以解引用也可以不解引用 比如 int Add(int x, int y) {return x y; } int main() {int (* pf)(int, int) Add;//pf是一个函数指针指向一个函数两个参数都是int类型返回类型也是int类型int ret (*pf)(3, 5); int ret Add(3, 5);int ret pf(3, 5); } 下面来阅读两个有趣的代码 不要慌我们慢慢分析 代码1是对函数的调用 (* (void (*)()) 0 ) ();// void (*)()是一个函数指针类型类型是强制类型转换 // 故而 // 1 将0强制转换成void (*)()类型的函数指针 // 2 0地址处存放着一个函数函数无参返回类型是void // 3 对0地址处的函数进行调用 代码2是函数的声明 void (*signal(int , void(*)(int)) )(int); // signal后面跟着(),说明signal是一个函数该函数的第一个参数是int类型第二个参数是 void(*)(int) // 除却signal(int , void(*)(int))以外剩下的都是signal函数的返回类型void*int) part 6函数指针数组 函数指针数组存放的是函数指针 int (*p[10])() 解释p先和[]结合说明p十个数组数组十个元素           每个元素的类型都是函数指针int (*)() 函数指针数组的使用例子简易计算器 #includestdio.h void menu() {printf(************************\n);printf(**** 1.Add 2.Sub *******\n);printf(**** 3.Mul 4.Div *******\n);printf(**** 0.exit *******\n);printf(************************\n); } int Add(int x, int y) {return x y; } int Sub(int x, int y) {return x - y; } int Mul(int x, int y) {return x * y; } int Div(int x, int y) {return x / y; } int main() {int input 0;int (*arr[5])(int , int ) { NULL,Add,Sub,Mul,Div };int x 0;int y 0;int ret 0;do{menu();printf(请选择:);scanf(%d, input);if (input 0){printf(退出计算器\n);break;}else if (input 1 input 4){printf(请输入两个操作数:);scanf(%d %d, x, y);ret arr[input](x, y);printf(%d\n, ret);}else{printf(选择错误请重新选择\n);}} while (input);return 0; }
http://www.hkea.cn/news/14301850/

相关文章:

  • 福州网站建设fjfzwl电子商务有哪些职业
  • 互助盘网站开发华城建设集团有限公司官方网站
  • 微信推送在哪个网站做网站开发的规格描述
  • 电商网站开发需要掌握哪些知识技能做百度文库需要网站吗
  • 如何给网站弄ftp开发软件需要多少成本
  • 李沧做网站公司优秀网站ui设计
  • 办公用品网站系统建设源码嵌入式软件开发外包
  • 做网站网站盈利会怎么样可以做试卷并批改的网站
  • 阜新市项目建设网站建设部网站证书查询
  • 长春网站建设公司排名前十大邑做网站
  • 河南省台前县建设局网站wordpress failed to import
  • 珠宝企业的门户网站开发网校搭建平台
  • 辽宁省城乡建设规划院网站东莞市seo网络推广报价
  • 苏州建站公司 诚找苏州聚尚网络网站是怎么制作出来的
  • 网站建设 深度网如何获取免费域名
  • 东莞网站推广策划活动怎么创建公司
  • 专业制作网站的基本步骤在线印章生成器
  • 徐州网站开发兼职网络教育网站建设
  • 做淘宝客的网站需要备案吗长春网络优化哪个公司在做
  • 做包装盒有哪些网站安贞网站建设公司
  • 个人网站可以做信息网站吗免费图片素材库
  • 如何让网站长尾关键词有排名做游戏的软件
  • 网站关键词代码网站建设的合同条款
  • 汕头自助建站系统网页推广怎么做的
  • 少儿图书销售网站开发背景北京公司注册资金
  • 响应式网站的概念北京网站制作net2006
  • 广州建设水务局网站wordpress注册函数
  • wordpress 网站做外贸网络推广网站
  • 吉安网站建设wordpress模板不一样
  • 找工作哪个网站好智联招聘做网站引流