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

网站建设主结构网球新闻最新消息

网站建设主结构,网球新闻最新消息,常州做网站优化,国外开源cms文章目录0. 补充知识数组笔试题1. 一维数组1.1 字符数组1.1.1 sizeof1.1.2 strlen1.2 二维数组2. 指针笔试题0. 补充知识 在进入数组与指针的练习时,我们先来复习以下以下的知识点,这可以帮助我们更好的理解下面练习 数组是一组能存放相同类型的类型的元…

文章目录

  • 0. 补充知识
  • 数组笔试题
    • 1. 一维数组
    • 1.1 字符数组
      • 1.1.1 sizeof
      • 1.1.2 strlen
    • 1.2 二维数组
  • 2. 指针笔试题

0. 补充知识

在进入数组与指针的练习时,我们先来复习以下以下的知识点,这可以帮助我们更好的理解下面练习

  1. 数组是一组能存放相同类型的类型的元素,数组的大小取决于数组元素个数和元素类型
  2. 指针是地址,口头语的指针是指针变量,大小是4/8字节
  3. 数组是数组,指针是指针,两者不等价,只有在传参时数组会退化为指针
  4. 数组名是首元素的地址,这个地址可以存放在指针变量中,因此可以将数组和指针练习起来
  5. 二维数组arr[m][n]可以看成是一个有m个元素的一维数组,每个数组元素是一个有n个元素的一维数组,因此二维数组名是有n个元素的一维数组的地址,多维数组以此类推
  6. 只有当数组名单独放在sizeof内部和&数组名时,数组名才代表整个数组,其余情况数组名代表首元素的地址
  7. sizeof是编译期间进行的操作符,它是根据表达式的类型属性来进行求值,因此不需要知道表达式的值属性,也不会对表达式进行运算
  8. strlen是函数,函数的型参是const char* ,通常实参是char*,可以将char*传给更安全的const char*,如果传的参数不是const char*类型,则在函数体内部会自动转换成const char*来处理
  9. 访问为定义地址时,不是一定会报错,如果访问的地址没有被其他程序调用,则不会报错,如果该地址被其他程序调用,则会报错
  10. 指针类型决定了(1)指针加减整数跳过的空间有多大(2)解引用指针的权限有多大
  11. 数组的下标引用实际上是间接引用的伪装
  12. 数据的存储模式有大端存储小端存储
  13. 二维数组名等价于数组指针名

数组笔试题

1. 一维数组

//一维数组
int a[] = {1,2,3,4};
printf("%d\n",sizeof(a));
printf("%d\n",sizeof(a+0));
printf("%d\n",sizeof(*a));
printf("%d\n",sizeof(a+1));
printf("%d\n",sizeof(a[1]));
printf("%d\n",sizeof(&a));
printf("%d\n",sizeof(*&a));
printf("%d\n",sizeof(&a+1));
printf("%d\n",sizeof(&a[0]));
printf("%d\n",sizeof(&a[0]+1));

在这里插入图片描述

1.1 字符数组

1.1.1 sizeof

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

1.1.2 strlen

在这里插入图片描述

注:在34行中访问了未定义的地址,当这个地址被其他程序调用时会出现程序崩溃,否则不会崩溃

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可以看见,程序崩溃后不会整形崩溃语句的后面语句

1.2 二维数组

在这里插入图片描述

注:sizeof不会对表达式进行运算,因此没有访问a[3],没有越界访问

2. 指针笔试题

在这里插入图片描述
在这里插入图片描述
2.

在这里插入图片描述

  • p是一个大小为20字节的结构体指针,指针+整数的意义是跳过多少个字节,因此p+0x1相当于跳过1个结构体大小20个字节,第一个答案就是00100014
  • 将p强转为unsigned long类型,为整形,整形+0x1就是数值上+1,因此答案是00100001
  • 将p强转为unsigned int*类型,为指针,+1表示跨过一个int型,因此答案是00100004
    注:%p打印格式是8位16进制,高位不足补0

在这里插入图片描述

  • ptr1指向a[3]后面的一个元素,ptr[-1]代表*(ptr1-1),表示访问ptr1前面4个字节的元素即arr[3]
  • ptr2情况较复杂,我们画字节数据的存储图(字节内容以16进制表示)(以小端存储为例)在这里插入图片描述
    a原本是int*类型的数据值是01的,强转为int型在+1,最后ptr2指向该位置

    在解引用访问从ptr2向后面的4个字节,因为是小端存储,所以解引用得到的值是0x02000000
    注:%x是有多少位16进制就打印多少位16进制

在这里插入图片描述

逗号表达式的值是最后一个表达式的值,因此数组a只有前3个元素赋值了1,3,5
p=a[0],因此p[0]相当于a[0][0],答案为1

在这里插入图片描述

p是一个指向具有4个元素数组的指针,可以看作是列数为4的二维数组名
二维数组在内存中是连续存放的,因此二维数组元素arr[i][j]实际上是arr[0][0]后面i*列数+j个位置的元素
p的列数是4,a的列数是5
在这里插入图片描述
着重理解指针类型的意义

在这里插入图片描述

ptr1指向aa[1][4]后面一个整形,ptr1-1指向aa[1][4]
ptr2指向aa[1][0],ptr2-1指向aa[0][4]

在这里插入图片描述

在这里插入图片描述
pa原本指向a[0],pa++后指向a[1],*pa得到a[1]的值即“at”的地址

在这里插入图片描述
在这里插入图片描述

http://www.hkea.cn/news/798149/

相关文章:

  • 福州市闽侯县建设局网站推广引流吸引人的文案
  • wordpress目录 读写权限泰安短视频seo
  • 东莞建设网站流程澎湃新闻
  • 萧县住房和城乡建设局网站seo排名推广工具
  • 企业网站php模板下载百度百科官网首页
  • 做愛視頻网站在线网页制作网站
  • 织梦pc怎么做手机网站搜索引擎优化的基础是什么
  • 课程建设网站设计源码爱站网反链查询
  • 安徽省建设业协会网站个人网页制作教程
  • 好的摄影网站推荐福州seo顾问
  • html做的好看的网站如何宣传推广产品
  • 微信手机网站制作怎么引流客源最好的方法
  • 宿州建设网站公司前端seo搜索引擎优化
  • 做王境泽表情的网站百度seo关键词优化排名
  • 怎么选择无锡网站建设虚拟主机搭建网站
  • 做原油期货关注什么网站搜索引擎优化是做什么
  • 微信小程序怎么制作游戏安卓优化清理大师
  • 胶南做网站初学者做电商怎么入手
  • 网站为什么要维护佛山网络营销推广
  • 国企网站建设报告怎么建造自己的网站
  • 免费做司考真题的网站余姚网站如何进行优化
  • 如何网站开发1688网站
  • 丽水专业网站建设价格青岛网站优化
  • 网站开发专业培训学校百度推广登录官网入口
  • 贵阳做网站公司网站热度查询
  • 做课件最好的素材网站考拉seo
  • 网站建设玖首选金手指seo网站优化收藏
  • 台州卓远做网站好不好广州seo教程
  • dz网站数据备份bt磁力猪
  • github 可以做网站吗360seo