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

kotlin做网站公司网站如何seo

kotlin做网站,公司网站如何seo,汕头制作网站软件,温州市网站制作C语言运算符优先级表&#xff08;由上至下&#xff0c; 优先级依次递减&#xff09; 运算符结合性() [] -> .自左向右 ! ~ -- - (type) * & sizeof自右至左* / % 自左向右 - 自左向右<< >> 自左向右< < > > 自左向右 ! 自左…

C语言运算符优先级表(由上至下, 优先级依次递减)

运算符结合性
()  []  ->  .自左向右
 !  ~  ++  --  -  (type)  *  &  sizeof自右至左
*  /  % 自左向右
+  - 自左向右
<<  >> 自左向右
<  <=  >  >= 自左向右
==  != 自左向右
自左向右
自左向右
自左向右
&& 自左向右
|| 自左向右
?: 自右至左
assignments 自右至左 
自左向右

 (来自C陷阱与缺陷)


 


 

对于( )  或者  [ ] 的优先级是最高的

于是对于  *p[2]  结合的方式应该是   *(p[2])    对于  (*p)[2]  显然结合方式是括号中的 *p 优先于 [2]

具体

char *p[2]  表示p是一个存储指向char类型数据的指针的数组

char (*p)[2]  则表示*p是一个拥有两个char类型元素的数组,那么p则表示指向这个数组的指针

void test(){char *p1[2];char (*p2)[2];printf("p1----%d\n", sizeof(p1));printf("p2----%d\n", sizeof(p2));return;
}

得到的结果是

可以看到p1表示的是一个拥有两个(char *)类型的数组,一个指针占有4个字节,俩个当然是8个字节

而p2仅仅就只是一个指针,只占有4个字节

常用用途


  • 对于  *p[]

在main函数的参数中有使用到,其中的 char *argv[]的argv就是一个指针数组,用来存储函数调用时传进来可变个数的参数

(详细:利用 gdb 探究main(int argc, char *argv[]){} 中的char *argv[]

int main(int argc, char *argv[])
{something you want to do;return 0;
}

比如可以这样

char *pp[2] = {"hello", "world",};

pp[0]存储字符串"hello"的第一个字符的地址,pp[1] 存储字符串"world"的第一个字符的地址

printf("%s\n", pp[0]);

将会打印出 hello


  • 对于  (*p)[]

无疑就是可以作为二维数组的引用

其实二维数组的本质也是一维数组,那么当我们定义一个二维数组的时候为什么不可以使用像引用一维数组的那样的指针来引用二维数组呢?

错误样例

void arrays(){int nums[3][4] = {0};int *pn = nums;
}

原因就是二维数组其实就是一个成员是一维数组的一维数组,所以它的类型是应该是数组类型

而这里的pn所指的类型是int,就会出现类型不匹配的问题

正确的方式是

void arrays(){int nums[3][4] = {0};int (*p_nums)[4] = nums;
}

这样的p_num是指向类型为数组的指针,与nums的类型相匹配


补充

二维数组在内存中的存储问题

示例代码

#include <stdio.h>
#include <stdlib.h>int main()
{/*定义char类型便于观察地址,因为char只占一个byte*/char chars[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12},};printf("-------------------------------------------------------------------\n\n");for(int i = 0; i < 3; ++i){for(int j = 0; j < 4; ++j){printf("%5d(%d)", chars[i][j], (int)&chars[i][j]);}printf("\n");}printf("\n-------------------------------------------------------------------\n");printf("%d\n", sizeof(chars));printf("%d\n", (int)chars);printf("%d\n", (int)(chars + 1));/*移动了4个元素,行移动*/printf("-------------------------------------------------------------------\n");printf("%d\n", sizeof(chars[0]));/*可以看作是一维数组的第一个元素的地址 形如 一维数组中的 &array[0]*/printf("%d\n", (int)&chars[0]);/*可以看作就是一维数组里的第一个元素是数组,它相当于一个数组名表示数组地址  形如  array*/printf("%d\n", (int)chars[0]);printf("-------------------------------------------------------------------\n");return 0;
}

输出

得到的结果以及代码注释已经可以说明一些问题了,就不再重复


本节完...... 

转载于:https://www.cnblogs.com/xinglichao/p/9210132.html

http://www.lbrq.cn/news/2483731.html

相关文章:

  • 浦东新区做网站公司网站运营方案
  • 聊城网站建设开发北京seo运营
  • 提升网站权重的策略网络推广公司排名
  • 网站建设的域名续费舆情监控系统
  • 一般上什么网站世界足球世界排名
  • 邯郸去哪做网站改版青岛网站制作seo
  • 做国际贸易哪个网站比较好全网营销整合推广
  • 毕业设计做网站怎么做体验营销策划方案
  • 百度网站审核期时间网站关键词优化教程
  • 网站建设完成的时间怎么做网络推广优化
  • 有人做几个蝎子养殖门户网站如何成为app推广代理
  • 妈妈在家里做女视频网站怎么创建一个网站
  • 知名网站设计服务商店铺数据分析主要分析什么
  • 三联网站建设工作室搜索app下载
  • 天蝎做网站建网站无锡百度seo优化
  • 如何查看一个网站的浏览量免费建站软件
  • 做网站建设话术沪指重上3000点
  • 动易政府网站源代码qq群推广链接
  • 陇南市响应式网站建设株洲网站建设
  • 安庆市大观区城乡建设局网站新媒体运营是做什么
  • 中央下令全国解封通知站长工具seo综合查询权重
  • 聊城做wap网站哪儿好东莞seo关键词
  • 网站备案怎么弄青岛模板建站
  • 网站用户 分析免费有效的推广网站
  • wordpress 代替cms水平优化
  • 给视频做特效的网站什么是网站外链
  • wordpress如何导入md文件夹seo指的是搜索引擎营销
  • 广州网站建设找新际企业网站建设的流程
  • 深圳建站网站产品关键词
  • 怎么做网站关键词视频网站优化网站优化
  • 多模态大模型与 AI 落地:从技术原理到实践路径的深度解析
  • 框架式3D打印机结构设计cad【9张】三维图+设计说明书
  • 基于MySQL实现基础图数据库
  • Android Studio 提示信息 ‘equals(““)‘ can be replaced with ‘isEmpty()‘
  • spring boot整合mybatis
  • 机器学习之knn算法保姆级教学