• 面试题


    6、已知一个线性表(38,25,74,63,52,48),假定采用散列函数h(key) = key%7计算散列地址,并散列存储在散列表A【0....6】中,若采用线性探测方法解决冲突,则在该散列表上进行等概率成功查找的平均查找长度为(C

    A、1.5                  B、1.7                           C、2.0                       D、2.3

    1/6*(1+3+1+1+2+4)= 2.0

    9.下面程序的输出结果为多少?

    1. void Func(char str_arg[100])  
    2. {  
    3.     printf("%d ",sizeof(str_arg));  
    4. }  
    5.   
    6. int main(void)  
    7. {  
    8.     char str[]="Hello";  
    9.     printf("%d ",sizeof(str));  
    10.     printf("%d ",strlen(str));  
    11.     char *p = str;  
    12.     printf("%d ",sizeof(p));  
    13.     Func(str);  
    14. }  

    输出结果为:6   5     4      4

    对字符串进行sizeof操作的时候,会把字符串的结束符“”计算进去的,进行strlen操作求字符串的长度的时候,不计算的。

    数组作为函数参数传递的时候,已经退化为指针了,Func函数的参数str_arg只是表示一个指针,那个100不起任何作用的。

     sizeof(p)是计算指针p的长度,指针长度是4个字节。

    ??2、如果X大于0并小于65536,用移位法计算X乘以255的值为:-X+X<<8

    X<<8-X是不对的,X<<8,已经把X的值改变了(订正:X<<8是个临时变量,不会改变X的值,就像a+1不会改变a一样)。

    大端模式

    所谓的大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;
    0x1234  12为数据高位,34为数据低位。

    小端模式

    所谓的小端模式,是指数据的高位保存在内存的高地址中,而数 据的低位保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。
     
    我们常用的X86结构是小端模式.
    一般来说,大部分用户的操作系统(如windows, FreeBsd,Linux)是小端模式的。少部分,如MAC OS,是大端模式 的。
     

    以下两个语句的区别是:

    1. int *p1 = new int[10];  
    2. int *p2 = new int[10](); 
    前者只进行了内存分配并没有进行初始化,而后者不仅仅、进行了内存分配同时进行了初始化指针。你可以单步看看的。前一个指针未知,后一个清零的。


    C和C++怎样分配和释放内存,区别是什么

        C: malloc  free   //函数  calloc() 会初始化  realloc 会重置大小

        C++:   new  delete  //运算符

         C++中内存分为5个区: 堆 栈 全局/静态区 常量区 自由存储区(也有说代码区)

        malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可以用于申请动态内存和释放内存。

        对于非内部数据类型对象而言,光用malloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于

        malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free.

  • 相关阅读:
    wireshark无法捕获无线网卡数据解决办法(failed to set hardware filter to promiscuous mode)
    用PHP检测用户是用手机(Mobile)还是电脑(PC)访问网站
    一次.net Socket UDP编程的10万客户端测试记录
    对象复制
    c#中volatile关键字的作用
    C#操作XML
    ASP.NET AJAX
    C#操作XMl2
    SQLServer 存储过程中不拼接SQL字符串实现多条件查询
    ASP.NET刷新页面的六种方法20081111 22:04asp.net页面刷新重是有问题,收藏几种方法挺有用的.
  • 原文地址:https://www.cnblogs.com/cschen/p/3626800.html
Copyright © 2020-2023  润新知