首页 > 其他分享 >题目总结

题目总结

时间:2023-12-08 11:44:21浏览次数:40  
标签:总结 __ 题目 int void 整型 const 指针

1. const int a;    表示a是只读的
  int const a; //常整型数
     const int *a;  //a是一个指向常整型数的指针  表示这个指针变量可以修改,但是不能通过这个指针变量修改其所指向地址的值
  int * const a;  // a是一个指向整型数的常指针  表示这个指针变量不可以修改,但是可以通过这个指针变量修改其所指向地址的值 
     int const * a const;

  注:const离谁近,且是左结合,就修饰谁。如const int *a,就是离int近,int const *a,左结合,就是个常整型的指针;int * const a,就是离*近,就是个常指针

 作用是:

  为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的;

  合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。

2.用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)

  #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
  表达式会使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。且这个数是正整数,所以用U表示无符号     

3.宏的副作用

  #define  MAX(a,b)  ((a) > (b) ? (a) : (b))

   int a = 3,b = 2;

  int c = MAX(a++,b); a = 5; c = 4

  所以一般使用宏最好不要传入自增自减 。如果你一定要在宏里消除这个副作用

   #define  MAX(a,b,type)  ({type __x = (a), __y = (b);(__x > __y) ? __x : __y;})

  MAX(1,2,int);  MAX(1.1,1.2,double);

4. 给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a 的bit 3。

  #define BIT3 (0x1 << 3)
  static int a;
  void set_bit3(void)
      a |= BIT3;
  void clear_bit3(void)    a &= ~BIT3;

5. 下面的代码输出是什么,为什么?

  void foo(void) {

    unsigned int a = 6;     int b = -20;     (a+b > 6) ? puts("> 6") : puts("<= 6");   }

  整数自动转换原则,当表达式(a=b)中存在 "有符号类型" 和 "无符号类型" 时所有的操作数都自动转换为 "无符号类型" ,输出是 ">6"

6. 动态内存分配

  NULL = (void *)0;

  if ((ptr = (char *)malloc(0)) == NULL)
     puts("Got a null pointer");   else     puts("Got a valid pointer");

  malloc是在堆上分配的,即使是malloc零个内存空间,ptr也不是指向(void *)0地址,它指向堆地址

7. 一个单向链表,不知道头节点,一个指针指向其中的一个节点,问如何删除这个指针指 向的节点?

  void DeleteRandomNode(node* pCurrent){
          Assert(pCurrent != NULL);
          node* pNext = pCurrent -> next;
          if(pNext != NULL){
              pCurrent -> Next = pNext -> Next; //删除当前的下一个节点
              pCurrent -> Data = pNext -> Data; // 将下一个节点的值赋值给当前节点
              delete pNext;
    }
  }

标签:总结,__,题目,int,void,整型,const,指针
From: https://www.cnblogs.com/zj-studyrecoding/p/17884568.html

相关文章

  • 最终版面试总结
    题目分析顺序1-》3-》2:题目-》要求-》内容教案编写总体架构1.教学目标2.教学重难点3.教学方法1.总模板粉笔给出试讲模板过渡语句面试试讲模板开头介绍尊敬的各位老师,大家好,(鞠躬)。我是参加高中数学面试xxxx号考生,我试讲的题目是《XXX》,下面开......
  • C语言源码的陷波器设计及调试总结
    一前记音频信号处理中,限波器是一个常用的算法。这个算法难度不是很高,可用起来却坑很多。二源码解析1滤波器的核心函数,这里注意两点,一个是带宽不能太宽了,太宽了杀伤力太大了,容易出问题。另外一个就是滤波器的阶数非常重要,假如想滤波宽度尽量窄一些,那就阶数尽量高一些......
  • 构建高质量全栈商业项目需要掌握一系列技术要点,下面将从几个方面进行总结
    技术选型与架构设计:在构建高质量全栈商业项目之前,首先需要进行技术选型和架构设计。选择适合项目需求的技术栈,并根据项目规模、性能需求等因素设计合理的架构。常见的技术栈包括后端语言(如Java、Python)、前端框架(如React、Vue.js)以及数据库(如MySQL、MongoDB)等。以下是一个简单的架......
  • PTA7、8、期末考试总结
    PTA7、8、期末考试总结写在前面:此次的7、8两次PTA作业总体难度没有之前难,主要考察的是哈希表以及动态数组的运用,只要肯研究,肯学习就可以写的可以。PTA总结:7-1容器-HashMap-检索分数10全屏浏览题目切换布局作者 蔡轲单位 南昌航空大学输入多......
  • # 2023-2024-1 20231308 《计算机基础与程序设计》第十一周学习总结
    2023-2024-120231308《计算机基础与程序设计》第十一周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十一周作业这个作业的目标计算机网络,网络拓扑,云计算,网络安全,Web,HTML,CSS,Javas......
  • 12/7每日总结
    使用pyqt与百度千帆大模型进行了结合实现了NPC在设定场景下连续对话代码如下#coding:utf-8importsysfromPyQt5.QtWidgetsimportQApplication,QMainWindow,QLabel,QLineEdit,QPushButtonfromPyQt5.QtGuiimportQPixmap,QFontfromPyQt5importQtCoreimportPyQt5......
  • 2023-2024-1 20231402《计算机基础与程序设计》第十一周学习总结
    2023-2024-120231402《计算机基础与程序设计》第十一周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十一周作业这个作业的目标自学计算机科学概论第15,16章,《C语言程序设计》第10......
  • 每日总结20231207
    代码时间(包括上课)5h代码量(行):100行博客数量(篇):1篇相关事项:1、今天是周四,这周的课到此结束,上课的随堂测试也是回答的十分顺利,全部正确,并且在最后的一节课上查了软件设计师的成绩,让人十分高兴,我顺利的通过了,而且每科均达到五十分以上。2、今天下午的时候把我们班的发展团员的相关......
  • 2023-2024第一学期第九周助教总结
    第九周助教总结2023.11.27本次总结所属课程2023-2024第一学期计算机基础与程序设计作业要求作业要求作业提交情况情况作业提交情况这次的作业同学们都能按时提交,而且相较于上次我看大家的总结质量有一定的提升,说明大家的学习态度也是越来越认真了。但是......
  • 《2023-2024-1 20232427《网络空间安全导论》第五周学习总结》
    《2023-2024-120232427《网络空间安全导论》第五周学习总结》教学学习内容总结第五章内容安全基础5.1信息内容安全概述社会信息化和网络化发展加快,现在全球数据增长十分迅速,数据内容成为了互联网的中心关注点。各种社交网络不断涌现。但是!互联网和信息媒体的发展带来了许多......