当前位置: 首页 > 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.dnsts.com.cn/news/234850.html

相关文章:

  • seo网站优化是什么wordpress欢迎邮件代码
  • 阿里巴巴网站建设免费wordpress首页加外链
  • 建立网站就是制作网页对吗个人网站模板 免费
  • 建网站主要工具整站seo教程
  • wordpress网站主机名北京梦活力网站建设
  • 关于网站建设的论文网络怎样做推广
  • 做网站充值系统高德地图怎么没有菲律宾位置
  • 上海专业做网站的公司有哪些自己做盈利视频网站
  • 试述建设一个网站的具体步骤赶集网网站建设ppt模板
  • 建设银行对公网站wordpress插件访客能用吗
  • 网上做宣传的网站泰州东方医院有限公司
  • 别人做的网站网站建设 知识产权
  • 营销型网站架构师网页设计代码实战
  • 网站建设运维专门做软陶的网站
  • 保健品企业网站设计公司宣传册
  • 母婴网站建设策划书大数据营销的缺点
  • 卖建材的网站有哪些长春市
  • 建设文明网站包括哪些内容小程序软件开发
  • 深圳企搜网站建设百度收录不了网站
  • 江苏响应式网站建设哪里有wordpress导入数据库后出现乱码
  • 如何查看网站是哪家公司做的?网站用什么框架做
  • 深圳seo网站推广公司做网站首页与分页什么样子
  • 广州自助企业建站模板西安建设工程信息网几点开标
  • 成都科技网站建设费30张女性人像摄影作品欣赏
  • dede一键更新网站为什么建设营销型网站
  • 企业营销型网站规划大学生网页设计作业教程
  • 商城网站开发教程菏泽市网站建设
  • 网络优化网站建设学习公司网站设计模板
  • 山西做网站的公司哪个好织梦cms可以做淘宝客网站么
  • 网站设计制作新参考价格哈尔滨门户网站制作哪家好