日常刷题 (0)

2023-05-16

牛客刷题        

1.即使不进行强制类型转换,在进行指针赋值运算时,指针变量的基类型也可以不同?

答:错,指针变量的赋值只能赋予地址, 决不能赋予任何其它数据,否则将引起错误。

2.如果企图通过一个空指针来访问一个存储单元,将会得到一个出错信息。

答:对。

3.设变量p是一个指针变量,则语句p=0;是非法的,应该使用p=NULL。

答:错,p = NULL;和p=0;是一样的。

4.指针变量之间不能用关系运算符进行比较

答:错,指针之间的大小比较的意义,表示在内存中他们指向的位置的高低关系。解析有下。

/*************   第4题  解析  如下 ***************/

1.       指针变量中存放的是地址值,也就是一个数字地址,例如某指针变量中的值是0x2000 0000,表示表示此指针变量存放的是内存中位于0x20000000地方的内存地址。指针变量可以加减,但是只能与整型数据加减,此时加减的含义并不是其地址值进行了加减,也就是说如果指针变量p的值是0x20000000,那么p=p+2;的值并不是0x2000 0002,并不是地址值的简单相加减,那么地址值加减多少是与指针指向的数据类型相关联的:如果在64位的操作系统,p是指向整型数据的指针变量,那么p=p+2之后,p的存储的地址值变成0x2000 0016;同理,如果在32位的操作系统上,p是指向整型数据的指针变量,那么p=p+2之后,p的存储的地址值变成0x20000008也就说实际上地址值加了sizeof(int)*2这么多。说明白点,我们加减的数字是以指针指向的数据类型为量度的,p+2表示p在内存中前移两个int的距离,如果p不是int类型,而是其他类型道理也是一样。同样指针与整型数据相减也是同样的道理。

2.       指针之间可以相减,但不可以相加:两个同一类型的指针变量是可以相减的,他们的意义表示两个指针指向的内存位置之间相隔多少个元素(注意是元素,并不是字节数),例如对于int类型的指针pp1.p1-p的意义表示他们之间相隔多少个int类型的元素。同样对于其他类型的指针变量之间相减的意义也是一样。指针变量的自加和自减实际上是与整数1的加减运算。

3.        指针之间可以比较大小。但是同样也限于两个相同类型的指针变量,不同类型的指针变量之间比较大小没有任何意义。指针之间的大小比较的意义,表示在内存中他们指向的位置的高低关系。

/******************************************/

5.

#include <stdio.h>
void func( int n )
{
    static int num = 1;
    num += n;
    printf("%d",num);
}
main( )
{
    func(3);
    func(4);
    printf("\n");
}

输出结果是什么?

答: 4  8

解析:主要是静态局部变量的考察。

    静态局部变量有以下特点: 
     (1)该变量在全局数据区分配内存;
    (2)静态局部变量在程序执行到该对象的声明处时被首次初始化,即以后的函数调用不再进行初始化;
    (3)静态局部变量一般在声明处初始化,如果没有显式初始化,会被程序自动初始化为0;

    (4)它始终驻留在全局数据区,直到程序运行结束。但其作用域为局部作用域,当定义它的函数或语句块结束时,其作用域随之结束;

6.C++的类和C中的struct对比的说法如下,都是对的。


在C++中,来自class的继承默认按照private继承处理,来自struct的继承默认按照public继承处理  

class的成员默认是private权限,struct默认是public权限  

c里面的struct只是变量的聚合体,struct不能有函数  

c++的struct可有构造和析构函数  

  解析如下:

     1.c++中,class和struct的区别:

        a.成员访问权限->class的成员访问权限为private,而struct的成员访问权限为public
        b.默认的继承方式->class的默认继承方式为private,而struct的默认继承方式为public

     2.struct在C和C++之间的区别
        a.c中,struct是用户自定义数据类型,而c++中,struct是抽象数据类型,支持成员定义函数;
        b.c中的struct是没有权限设置的,但是在c++中,给strcut添加了权限设置,增加了访问权限;
        c.c中的struct只是变量的聚合体,可以封装数据,但是不可以隐藏,不可以定义函数成员;但是C++中的struct可以定义函数成员
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

日常刷题 (0) 的相关文章

  • Johnson算法PlantSimulation解决两机器多作业排版问题

    生产系统仿真应用教程PlantSimulation 周金平Johnson算法代码写错了的源代码 xff1a is i j m n y integer do y 61 Jobs ydim m 61 1 n 61 y for i 61 1 to
  • 组成原理---补码加减法,原码一两位乘法,补码一两位乘法,754标准

    翻转课堂 xff0c 学生讲课 xff0c 笔记顺便贴上来吧 万一有人需要呢 这里754标准其实可以看https blog csdn net xingqingly article details 18981671 xff0c 我没有把尾数规
  • POSIX 网络API原理

    1 POSIX 网络API 网络编程常用的API xff1a 2 IO函数的内部过程分析 2 1 Socket socket作为网络编程的第一个函数 xff0c 主要作用是用于创建句柄和对应的TCB控制块 xff1b 建立起文件描述符和内部
  • 卷积神经网络(CNN)的平移不变性和旋转不变性。

    文章目录 不变性的介绍不变性的原理 不变性的介绍 不变性意味着即使目标的外观发生了某种变化 xff0c 但是你依然可以把它识别出来 旋转不变性和平移不变性 xff1a 通俗的讲 xff0c 我给你一张图片 xff0c 你识别出来这是只狗 x
  • ubuntu22.04版本APPimage启动报错问题解决

    文章目录 前言 xff1a 报错信息解决方法结果展示你以为就完了 xff1f 天真 xff01 结果展示2结语 前言 xff1a 因为个人比较喜欢提前使用一些较新的软件 系统之类的东西 xff0c 所有在ubuntu22刚发行就选择了升级
  • 音视频封装原理简介

    1 什么是数据化封住和解封装 xff1f 2 视频数据的封装 3 什么是音视频的封装格式 4 封装格式
  • wsl 配置 java 环境以及使用 vscode 调试

    wsl 配置 java 环境以及使用 vscode 调试 原文 xff1a https blog csdn net huiruwei1020 article details 107775782 按照原文我无法运行 xff0c 按照Stack
  • L13. hrtimer使用实例(高精度定时器)

    1 简介 随着内核不断更新演进 xff0c 内核对定时器的分辨率要求越来越高 硬件的高速发展也逐渐能够满足内核的这一要求 xff0c 因此内核针对硬件提供的便利 xff0c 开始设计了更高分辨率的定时器 xff08 hrtimer xff0
  • 鸿蒙操作系统下载

    简介 华为最近开源了自产的操作系统 Harmony 凑一波热闹 xff0c 下载源码看看 横看成岭侧成峰 xff0c 远近高低各不同 由于目前水平有限 xff0c 所以不对鸿蒙操作系统做出过多评价 xff0c 只是下载来学习一下 愿景是希望
  • 5. C++ 抽象类

    1 简介 抽象类往往用来表征对问题领域进行分析 设计中得出的抽象概念 xff0c 是对一系列看上去不同 xff0c 但是本质上相同的具体概念的抽象 通常在编程语句中用 abstract 修饰的类是抽象类 在C 43 43 中 xff0c 含
  • C++并发编程 - 互斥锁(lock_guard和unique_lock)

    C 43 43 并发编程 互斥锁 在多线程的编程中 xff0c 共享数据的修改限制是必不可少的环节 期望的是 当一个线程访问共享数据期间 xff0c 此数据不应该被其他线程修改 xff1b 当某个线程修改了共享数据 xff0c 应通知其他线
  • CMake搭建编译环境总结

    前言 交叉编译算是每个嵌入式开发者都会经历的一道坎吧 xff0c 通俗的描述就是搭建Arm板代码编译环境 xff0c 让代码能够在Arm板子上跑起来 常用到的编译工具为Makefile和CMake xff0c 本篇记录下CMake的常用技巧
  • C++ lambda表达式

    lambda表达式 目录 一 开篇二 lambda初识三 lambda基本用法四 lambda表达式捕获列表五 总结六 参考 一 开篇 lambda表达式是C 43 43 11引进的一个新特性 xff0c 其写法比较新颖 xff0c 经常被
  • 网络编程 - Linux socket编程

    前言 socket 套接字 是网络编程编程的一种技巧 通过socket不仅可以实现跨进程通信 xff0c 还可以实现跨主机的网络通信 使用这种技术 xff0c 就可以实现全国各地的通讯 例如 xff1a 深圳的一台电脑接收来自北京一台电脑发
  • 记一次STM32F3单片机无法下程序解决方法

    不知道什么操作导致keil5下载STM32F3的程序时报以下错误 xff1a JLink info DLL V4 90 compiled Jul 28 2014 10 35 20 Firmware J Link OB STM32F072 C
  • SpringBoot集成MyBatis-Plus代码生成器(V3.5.1)

    1 说明 MyBatis Plus在3 5 1版本之后 xff0c 改变了代码生成器的用法 xff0c 由于对历史版本的不兼容 xff0c 这次重新梳理一份新的用法 3 5 1版本之前的代码生成器请参考 xff1a SpringBoot集成
  • 插上串口设备导致鼠标乱飘

    今天再一次遇见这种怪事 xff0c 屏幕上鼠标到处乱飘不受控制 xff0c 之前也遇到过 xff0c 没仔细研究 最终在网上搜寻答案发现是插上串口设备导致的问题 xff0c 因为串口一直不停的发送数据 xff0c 会导致电脑将其误识别成鼠标
  • openstack(queens)部署Zun服务

    zun安装手册 Zun是Openstack中提供容器管理服务的组件 xff0c 本文使用的是centos7上的openstack xff08 queens xff09 环境 目录 zun安装手册 3 在controller节点上安装zun服

随机推荐

  • Supervisor 定期重启指定进程

    简介 supervisor 是用 Python 开发的一套通用的进程管理程序 xff0c 能将一个普通的命令行进程变为后台 daemon xff0c 并监控进程状态 xff0c 异常退出时能自动重启 它是通过 fork exec 的方式把这
  • linux 源码安装 xrdp

    前言 xrdp可以做两件事 xff0c 第一件事就是可以使得linux支持RDP协议 xff0c 使得linux桌面能够通过mstsc连接 xff0c 第二件事就是RDP代理 xff0c 我们能通过xrdp连接到其他人的RDP资源 前者 x
  • 编译openssl时发生错误

    编译openssl时发生错误 error OPENSSL ALGORITHM DEFINES no longer supported 原理参考 xff08 由于同时安装了openssl 1 1和openssl 1 0 xff09 版本 xf
  • Linux 非源码安装 xrdp

    基本环境说明 我的是Centos 7 mini 或者 Ubuntu最小化安装 xff0c 想通过mstsc连接到xrdp xff0c 再通过xrdp连接到 Centos 7 mini xff0c 不安装桌面 xff0c 只打开 xterm
  • Selenium常用实战功能指南

    文章目录 自动化前言元素定位的几种方法id定位name定位link text定位partial link text定位xpath定位 xff08 重点 xff09 css定位常见问题 元素操作的常用方法基本方法send keys textg
  • RISC-V指令集架构------RV32I基础整数指令集

    0 基本整数指令集的分类 RISC V指令集分为基础指令集和扩展指令集 xff0c 此外又根据不同的处理器位宽分为32位 64位和128位指令集 xff0c 比如RV32I就表示32位处理器的基本整数指令集 xff0c 此外 xff0c 为
  • 如何在ubuntu22.04版本上安装libssl1.1?

    直接使用sudo apt get install会提示找不到软件包输入一下命令即可 xff1a echo 34 deb http security ubuntu com ubuntu focal security main 34 sudo
  • vue2学习总结一

    1 vue介绍 Vue是一套用于构建用户界面 xff08 数据 gt 界面 xff09 的渐进式 xff08 简单应用 xff08 一个轻量小巧的核心库 xff09 gt 复杂应用 xff08 可以引入各种各样的Vue插件 xff09 xf
  • c++判断字符串是否为回文

    回文是指正读反读均相同的字符序列 如 34 abba 34 和 abdba 均是回文 xff0c 但 34 good 34 不是回文 Solution1 使用reverse 函数将字符串反转 xff0c 与原字符串比较 xff0c 若相同
  • 多车调度问题(大疆Robot Master)——ROS键盘控制失灵,小车无法收敛定位,路径规划出错

    问题1 ROS键盘控制小车失灵 具体就是 xff1a 用键盘左右转小车 xff0c 速度贼快 xff0c 而且方向不正确 xff0c 检查发现是控制模块失灵 xff0c 有可能是内部测量元件 xff08 陀螺仪等 xff09 烧了 xff0
  • 浏览器跨域-原因及解决方案

    1 浏览器跨域 如何判断一个浏览器的请求是否跨域 xff1f 在A地址 xff08 发起请求的页面地址 xff09 向B地址 xff08 要请求的目标页面地址 xff09 发起请求时 xff0c 如果A地址和B地址在 xff1a 协议 域名
  • 使用moment.js时设置中文无效

    背景 xff1a 使用 script 标签 xff0c 在 html 页面中引入了 moment js xff0c 使用时发现页面中 moment js 相关的文字显示的是英文 xff08 eg xff1a 3 days ago xff09
  • virtual stdio 2017 问题

    严重性 代码 说明 项目 文件 行 禁止显示状态 错误 MSB8020 无法找到 Visual Studio 2010 的生成工具 平台工具集 61 v100 若要使用 v100 生成工具进行生成 xff0c 请安装 Visual Stud
  • 中国天气网天气api接口 天气预报调用方法 2020

    说明 百度了很久没有找到免费的天气 API 不是收费就是接口打不开了 最后终于找到了天气api https www tianqiapi com 可免费使用 最重要的是天气数据和中国天气网一致 城市编号也是用的天气网的 这样就方便多了 体验了
  • [路由][教程]OpenWrt通过LAN连接上级路由做交换机+无线功能教程

    1 前言 上级路由为ikuai软路由 xff0c 数据处理交给软路由来做 xff0c OpenWrt运行在路由器上 xff0c 通过LAN连接上级路由从而只做WIFI接收发送功能 此教程只能将LAN作为交换机使用 xff0c WAN口不行
  • [路由][教程]OpenWrt设置为交换机+无线功能教程

    1 前言 上级路由为ikuai软路由 xff0c 数据处理交给软路由来做 xff0c OpenWrt运行在路由器上 xff0c 通过LAN连接上级路由从而只做WIFI接收发送功能 2 需求 路由的LAN和WAN全部作为交换机使用无线WIFI
  • CV学习笔记-特征提取

    特征提取 1 概述 图像中常见的特征有边缘 角 区域等 通过各属性间的关系 xff0c 改变原有的特征空间 xff0c 例如组合不同的属性得到新的属性 xff0c 这样的处理叫做特征提取 注意特征选择是从原始的特征数据集中选择出子集 xff
  • CV学习笔记-深度学习

    深度学习 1 神经网络 1 概述 引例 xff1a 生物神经网络作用机理 生物神经网络的基本工作原理 xff1a 一个神经元的输入端有多个树突 xff0c 主要是用来接收输入信息的 输入信息经过突触处理 xff0c 将输入的信 息累加 xf
  • Mybatis-Plus条件构造器笔记

    Mybatis Plus条件构造器笔记 Mybatis Plus官方文档 xff1a https baomidou com pages 10c804 本文主要讨论Mybatis Plus条件构造器的区别和用法 QueryWrapper Up
  • 日常刷题 (0)

    牛客刷题 1 即使不进行强制类型转换 xff0c 在进行指针赋值运算时 xff0c 指针变量的基类型也可以不同 xff1f 答 xff1a 错 xff0c 指针变量的赋值只能赋予地址 xff0c 决不能赋予任何其它数据 xff0c 否则将引