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

淘宝客模板网站专业建设网站哪家好

淘宝客模板网站,专业建设网站哪家好,在公司做网站是什么职位,权威的合肥网站建设文章目录 1. 字符指针变量2. 数组指针变量2.1 对数组指针变量的理解2.2 数组指针变量的初始化 3. 二维数组传参的本质4. 函数指针变量4.1 函数指针变量的创建4.2 函数指针变量的使用 5. 函数指针数组 1. 字符指针变量 我们在前面使用的主要是整形指针变量#xff0c;现在要学… 文章目录 1. 字符指针变量2. 数组指针变量2.1 对数组指针变量的理解2.2 数组指针变量的初始化 3. 二维数组传参的本质4. 函数指针变量4.1 函数指针变量的创建4.2 函数指针变量的使用 5. 函数指针数组 1. 字符指针变量 我们在前面使用的主要是整形指针变量现在要学习的是字符指针变量。 一般使用 int main() {char ch a; //字符变量char *pc ch; //字符指针变量*pc b;return 0; }除了上面这种用法外还有用于字符串。 如 #includestdio.h int main() {const char* pstr hello world;printf(%s\n, pstr);return 0; }输出结果为 代码 const char* pstr hello world; 要注意并不是把字符串hello world放入了字符指针变量pstr中其本质是把字符串hello world的首个字符的地址放到了pstr中。 上面的代码如图所示即把常量字符串的首字符h的地址存到了pstr中 相关例题 #define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h int main() {char str1[] hello world;char str2[] hello world;const char* str3 hello world;const char* str4 hello world;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; }输出结果为 首先就像之前所说的数组名是首元素的地址str1和str2两个数组的内容虽然相同但是使用相同的常量字符串去初始化不同的数组的时候就会开辟出不同的内存块所以他们的地址是不同的。而对于str3和str4来说它们是字符指针它们指向的是同⼀个常量字符串。C语言中会把常量字符串存储到单独的⼀个内存区域当⼏个指针指向同⼀个字符串的时候实际上指向的是同⼀块内存。 2. 数组指针变量 2.1 对数组指针变量的理解 之前我们学习了指针数组所以我们知道指针数组是用来存放指针的数组 那么数组指针变量是指针变量还是数组 答指针变量 结合我们之前所学 整形指针变量int * p; 存放的是整形变量的地址能够指向整形数据的指针。 字符指针变量char * p; 存放的是字符变量的地址能够指向字符数据的指针。 由此可得数组指针变量应该是存放数组的地址能够指向数组的指针变量。 数组指针变量 int (*p)[10];解释 p和*结合说明了p是一个指针类型的变量然后指针指向的是一个大小为10个整形的数组。所以 p是⼀个指针指向⼀个数组叫作数组指针。 要注意的是[]的优先级要⾼于*号所以必须加上()来保证p先和 * 结合。 不能写成int *p[10]; 2.2 数组指针变量的初始化 首先我们需要知道数组指针变量是用来存放数组的地址的。 要想获得数组的地址就得使用我们之前所学的操作符 我们也知道除了两个特殊情况数组名就是首元素的地址而这两个特殊情况中arr就是取整个数组的地址。 这里的arr就是取了整个数组的地址我们之前所学的指针存的都是一个地址所以现在要想存一整个数组的地址我们就得用到数组指针了。 int arr[10] {0}; arr;//得到的就是数组的地址使用数组指针变量存放整个数组的地址 int(*p)[10] arr;3. 二维数组传参的本质 在之前我们有⼀个⼆维数组的需要传参给⼀个函数的时候我们可能是这样写的 #include stdio.h void test(int a[3][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 , 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; }这里的实参是二维数组形参部分也写成了二维数组的形式结合刚才所学是否还有其它写法 首先让我们再来回忆一下我们对数组的了解假如有一个整形数组那么它的每一个元素就是一个整形变量那么二维数组呢其实二维数组就可以看作是每个元素都是一维数组的数组即二维数组的每个元素都是一维数组。那么一维数组的首元素就是第一个变量二维数组的首元素就是二维数组的第一行即第一个一维数组。 所以根据数组名是数组首元素的地址这个规则⼆维数组的数组名表示的就是第⼀行的地址是⼀维数组的地址。根据上面的例子第⼀行的⼀维数组的类型就是 int [5] 所以第⼀行的地址的类 型就是数组指针类型 int(*)[5]注对于数组去掉数组名就是类型 我们也知道数组传参的本质是传首元素的地址那就意味着⼆维数组传参本质上也是传递地址传递的是第⼀行这个⼀维数组的地址由于这个二维数组的首元素地址是一整个数组那么形参也是可以写成指针形式的即数组指针变量的形式。代码如下 #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; }总结二维数组传参形参的部分可以写成数组也可以写成指针形式。 4. 函数指针变量 4.1 函数指针变量的创建 经过我们前面的学习通过类比 整形指针变量int * p; 存放的是整形变量的地址能够指向整形数据的指针。 字符指针变量char * p; 存放的是字符变量的地址能够指向字符数据的指针。 以及刚才的数组指针变量所以我们就可以知道 函数指针变量是能够存放函数的地址能够指向函数数据的指针啦。 所以函数也是有地址的喔我们可以来看看 #include stdio.h void test() {printf(hehe\n); } int main() {printf(test: %p\n, test);printf(test: %p\n, test);return 0; }输出结果为 上面的例子中打印出来了地址所以函数是有地址的并且函数名就是函数的地址当然也可以通过 函数名的方式获得函数的地址。 如果我们要将函数的地址存放起来就得创建函数指针变量 函数指针变量的写法和数组指针变量的写法类似 如下 例1无参型 void test() {printf(hehe\n); } void (*pf1)() test; void (*pf2)() test;例2带参型 int Add(int x, int y) {return x y; } int (*pf3)(int, int) Add; int (*pf3)(int x, int y) Add; //x和y写上或者省略都是可以的解析 4.2 函数指针变量的使用 通过函数指针调⽤指针指向的函数 #include stdio.h int Add(int x, int y) {return x y; } int main() {int(*pf3)(int, int) Add;printf(%d\n, (*pf3)(1, 2));printf(%d\n, pf3(10, 20));return 0; }输出结果 5. 函数指针数组 我们前面已经学习了指针数组了即所存放的每个元素是指针的数组。 如 int *arr[10]; //数组的每个元素是int*那么如果我们想要把每个函数的地址存放到数组中这个数组就叫作函数指针数组 函数指针数组的定义 int (*parr[3])();parr 先和 [ ] 结合说明 parr是数组数组的内容是什么呢是 int (*)() 类型的函数指针。 函数指针数组的使用 可以点击此处查看
http://www.ho-use.cn/article/10817058.html

相关文章:

  • 景区加强网站建设腾讯云免费域名申请
  • 电商网站 模板广东省造价工程信息网
  • 中山优化网站电商商城平台定制
  • 上海本地生活的网站wordpress破解密码
  • 积极做好门户网站建设工作网站地图页面设计
  • 怎么做单页网站导航东莞企业网站建设方案
  • 四川省住房和城乡建设厅网站域名网站建设可行性报告模板
  • vue配合什么做网站比较好网站上的动图都怎么做的
  • 深圳专业做网站设计国内网站设计经典案例
  • 新区seo整站优化公司广西工商网站查询企业信息
  • 做国内网站花费门户网站建设自查报告
  • 站长之家html做网站会被捉吗
  • 网站开发的硬件环境网站上的图片怎么替换
  • 在网盘上怎么做自己的网站全案营销策划
  • 广州网站建设-信科分公司邯郸做网站费用
  • 手机做网站空间企业简介ppt模板免费
  • 手机网站商城建设答辩wordpress手机号注册插件
  • 网站权重下降原因做面包国外网站
  • 建设网站的华丽语言英文营销网站建设
  • 织梦快速做双语网站wordpress中文主题模板
  • 网站建设所需要的东西ps做网站边框
  • 淘宝网站那个做的打广告的平台
  • 网站开发流程步骤小程序平台推广方案
  • 高端交互式网站建设不懂编程如何做网站
  • 犀牛云网站怎么建设app外包平台大概多少钱
  • 个人博客网站开发的背景wordpress 搜索内容
  • 做网站不备案会怎样自学网站的建设
  • 深圳电商网站开发公司做网站编程语言
  • 金石文化规划 设计 开发风景区网站建设打开百度官网
  • 网站建设预算明细30天网站建设实录视频云盘