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

网站建设项目设计的图片石柱土家族网站建设

网站建设项目设计的图片,石柱土家族网站建设,网站怎么做二级域名,怎么做网站数据分析前言: 在上章及其上上章中练习了整形和字符串的计算 那么在本章中给大家提供有关指针和二维数组的习题计算 首先先进行二维数组的计算 复习一下定义:大家还记得吗? 二维数组 二维数组的定义: 在C语言中,二维数组…

前言:

在上章及其上上章中练习了整形和字符串的计算

那么在本章中给大家提供有关指针和二维数组的习题计算

首先先进行二维数组的计算

复习一下定义:大家还记得吗?

二维数组

二维数组的定义:
在C语言中,二维数组可以被视为一维数组的数组。例如,定义一个3行4列的二维数组a,可以这样写:

int a[3][4];

这里的a是一个包含3个一维数组的数组,每个一维数组包含4个整数。

欧克  
上习题

1.

#include <stdio.h>
int main()
{int a[3][4] = { 0 };printf("%zd\n", sizeof(a));printf("%zd\n", sizeof(a[0][0]));printf("%zd\n", sizeof(a[0]));printf("%zd\n", sizeof(a[0] + 1));printf("%zd\n", sizeof(*(a[0] + 1)));printf("%zd\n", sizeof(a + 1));printf("%zd\n", sizeof(*(a + 1)));printf("%zd\n", sizeof(&a[0] + 1));printf("%zd\n", sizeof(*(&a[0] + 1)));printf("%zd\n", sizeof(*a));printf("%zd\n", sizeof(a[3]));return 0;
}

1. 48   : a是数组名,单独放在sizeof内部,表示整个数组, 计算的是整个数组的大小,单位是字节3*4*4 = 48 

2.   4      a[0][0]是第一行第一个元素,也就是4个字节大小。

3. 16      a[0]是第一行这个一维数组的数组名,数组名单独放在sizeof内部,计算的是第一行这个一维数组的大小,也就是  4*4=16个

4. 4  / 8
      a[0]是数组名,这里表示数组首元素的地址,是第一行第一个元素的地址
      a[0] + 1就是第一行第二个元素的地址,是地址大小就是   4  / 8

5.        *(a[0] + 1))是第一行第二个元素-大小是4个字节

6. 4 / 8      a+1就是第二行的地址,是地址就是4/8个字节,a是二维数组的数组名,在这里表示首元素的地址,也就是第一行的地址, a+1就是第二行的地址

7. 16
    a + 1是第二行的地址,*(a+1)得到的就是第二行, int(*)[4]         对数组指针解引用,放一个数组,就是一行的一维数组,*(a+1) == a[1], a[1]是第二行的数组名,sizeof(arr[1])计算的是第二行的大小

8. 4 / 8:
    a[0]是第一行的数组名,&a[0]取出的是第一行这个一维数组的地址,&a[0]+1就是第二行的地址

9. 16     *(&a[0] + 1)是第二行,计算的是第二行的大小,16个字节

10.16   a是二维数组的数组名,a是首元素的地址,就是第一行的地//址,*a就是第一行, 计算的是第一行的大小,16个字节,*a == *(a+0) == a[0] 

11.16: 没有越界访问,sizeof内部的表达式是不计算的.   sizeof(int) - 4    sizeof(4+3);--4
   

strlen

 那strlen函数呢,可以用来计算数组嘛?

答案是不可以的。

strlen 是一个用于计算字符串长度的函数,若用来计算数组,则程序会奔溃的。

指针变量
指针变量的定义

在C语言中,指针变量用于存储另一个变量的内存地址。指针变量的定义格式如下:

类型名 *指针变量名;

例如:

  • 声明一个整型指针:int *p;
  • 声明一个字符型指针:char *cptr;
  • 声明一个浮点型指针:float *fptr;
 const
  • 修饰一般变量const int n = 5; 或 int const n = 5;。这两种写法等价,表示变量n的值不能被改变。
  • 修饰指针
    • const int *p; 或 int const *p;:指针p可以改变,但p指向的内容不能改变。
    • int *const p;:指针p不能改变,但p指向的内容可以改变。
    • const int *const p;:指针p不能改变,且p指向的内容也不能改变。
习题一如下:
#include <stdio.h>
int main()
{const char* p = "abcdef";printf("%zd\n", sizeof(p));printf("%zd\n", sizeof(p + 1));printf("%zd\n", sizeof(*p));printf("%zd\n", sizeof(p[0]));printf("%zd\n", sizeof(&p));printf("%zd\n", sizeof(&p + 1));printf("%zd\n", sizeof(&p[0] + 1));return 0;
}

1.  4 / 8     p是一个指针变量,大小就是 4 / 8个字节。

2.  4 / 8     p中存放的是'a'的地址,p+1是'b'的地址,大小就是4/8个字节。

3. 1          *p=='a'。

4.          p[0]==*(p+0)==*p,结果就同上,也就是第一个元素 'a'。

5. 4 / 8      &p是指针变量p的地址是地址大小就是 4 / 8个字节。

6. 4 / 8       &p + 1还是地址大小是4/8个字节,&p+1是指向p变量的后边,&a+n 后仍是地址。

7. 4 / 8        &p[0] + 1是'b'的地址,大小是4/8个字节。

习题二:
int main()
{char* p = "abcdef";printf("%zd\n", strlen(p));printf("%zd\n", strlen(p + 1));//printf("%zd\n", strlen(*p));//printf("%zd\n", strlen(p[0]));printf("%zd\n", strlen(&p));printf("%zd\n", strlen(&p + 1));printf("%zd\n", strlen(&p[0] + 1));return 0;
}

1. 6:   p里边存放是'a'的地址,也就是计算 abcdef

2. 5:   p+1是'b'的地址,也就是计算   bcdef

3.非法访问, *p是'a'

4.非法访问,效果同上

5. 随机值

&p是p这个变量的地址,strlen就是从p这块空间的起始地址开始向后找\0的

 p中存放的地址是不确定的,所有有没有\0,什么时候会遇到\0都不确定

6. 随机值

    &p+1是p变量后边的地址,从这个位置向后的内存数据不知道
    什么时候会遇到\0都不确定

7.  5

 

http://www.dtcms.com/wzjs/799315.html

相关文章:

  • 建设银行投资网站怎样备份wordpress
  • 佛山网站建设公司经营范围vultr 宝塔安装wordpress
  • 蔚县网站建设wl17581自己有产品怎么网络销售
  • 简述电子商务网站的建设wordpress弹窗广告插件
  • 校园二手市场网站开发制作网页教学反思
  • 个人网站备案可以做项目网站wordpress登陆改图标和连接
  • 三门峡网站设计网站电子签名怎么做
  • 网站上传不了图片不显示不出来wordpress主题调度
  • 宁波网站推广优化联系电话抖音怎么开通小程序推广
  • 网站快速排名优化登陆网站空间
  • 新闻资讯网站php源码广州少儿编程培训机构
  • 货运网站建设公司WordPress大胡子
  • 如何看织梦做的网站的源码enjooy wordpress
  • 建站软件怎么免费升级wap浏览器网页版
  • 专业商城网站设计个人网站免费服务器
  • 图片展示网站织梦源码中卫市住房和城乡建设局网站
  • 能进封禁网站的手机浏览器台州椒江区热销企业网站搭建
  • 企业网站建设方案渠道上海史特信息技术有限公司
  • 山东省建设教育信息网站首页微信企业app下载安装
  • 查看网站访问量现在pc端网站开发用的什么技术
  • wordpress 加速seo基础优化包括哪些内容
  • 网站注册属于自己的网站wordpress排版界面
  • 绍兴 网站制作浙江昆仑建设集团网站
  • 两个网站共用一个数据库社交网站 设计
  • mysql python开发网站开发网站建设就找奇思网络
  • 廊坊网站自助建站深圳有哪些软件开发公司
  • 汉台网站制作wordpress单页展示主题
  • 深圳石岩建网站frontpage网站模板
  • 外链推广网站老会计手把手教做帐官方网站
  • 杭州小程序网站开发公司做网站专业的公司