- 博客(31)
- 收藏
- 关注
转载 c/c++ 面试笔试知识点----牛客网(5)
1struct成员类型不可以是它自己。因为会递归定义。理论上这样导致结构体的大小不能被计算(无限大小)。所以不能在结构体里的成员类型是结构体本身。但是成员可以定义为该结构体的指针。就像你上面这段代码。因为指针的大小是已知的(随编译器和操作系统而定)。所以可以定义为该结构体的指针,但不是该结构体。2成员函数操作两个对象时,只需传递一个对象参数,另一个是调用成员的的th
2017-08-17 14:29:20
372
原创 c/c++ 面试笔试知识点----牛客网(4)
76.*p++和*(p++)都是先取*p的值再将p自增77.char *p, *q;p = (char *)malloc(sizeof(char) * 20);q = p;scanf(“%s %s”, p, q);printf(“%s %s\n”, p, q);两个指针指向同样的地址,故值是一样的78.
2017-08-09 15:53:52
591
原创 c/c++ 面试笔试知识点----牛客网(3)
51.静态分配是指在编译阶段就能确定大小,由编译器进行分配,堆不可以进行静态分配,堆的申请都是在执行过程中进行的。A,堆和栈的大小都可以设置,栈一般只有几KB。B,堆在动态分配时,要申请连续的内存空间,释放后会产生碎片。D,堆是使用malloc()、calloc()、realloc()等函数动态分配的,而使用alloca()函数可以动态分配栈的内存空间,释放的时候
2017-08-09 14:31:28
335
转载 c/c++ 面试笔试知识点----牛客网(2)
26. 22.c++标准不要求vector::operator[]进行下标越界检查,原因是为了效率,总是强制下标越界检查会增加程序的性能开销。设计vector是用来代替内置数组的,所以效率问题也应该考虑。不过使用operator[]就要自己承担越界风险了。如果需要下标越界检查,请使用at。27. #import是#include的替代指令,防止重复引用28. A:“
2017-08-04 10:53:51
449
转载 c/c++ 面试笔试知识点----牛客网(1)
我最近在牛客网上做题目,每道题目都有一些小的知识点,我把它总结下来,给大家分享,希望给面试笔试的人一些帮助。有些知识点太多了,所以只写了知识点。希望大家多多指出,共同进步,拿到一份好的offer。1. int(*n)[10]; 是数组指针 sizeof(n)=4int* n[10]; 是指针数组 sizeof(n)=402. class B{
2017-08-01 20:01:54
527
转载 对于sizeof()和strlen()的深入理解
今天在看《程序员面试宝典》时,发现书中对sizeof()和strlen()两个函数有着较为深刻的理解,特地分享给大家。1.sizeof操作符的结果类型是size_t,它在头文件中的typedef为unsigned int 类型。该类型保证能容纳实现所建立的最大对象的字节大小。2.sizeof是运算符,strlen是函数3.sizeof可以用类型做参数,strlen只能用 cha
2017-08-01 15:54:49
280
原创 基于ARM--s3c2451的函数封装---UART封装
s3c2451_uart.h#ifndef _S3C2451_UART_H_#define _S3C2451_UART_H_#include "typedef.h"#include "string.h"#include "stdio.h"#include "stdarg.h"typedef struct{ U32 ULCON; //线路控制寄存器,决定使用哪一个con口
2017-07-10 20:37:42
634
原创 基于ARM--s3c2451的函数封装---GPIO口的封装
最近正在学习arm裸机,所用的开发板是友善之臂的arm9-s3c2451开发板,发现没有向stm32开发板那样可以用库函数开发,只能使用寄存器来开发,非常痛苦,在参考了stm32的封装以及前辈的指导下,我对s3c2451的GPIO口进行了初步封装,大大提高的开发效率,适合二次开发。s3c2451.h#ifndef _S3C2451_GPIO_H_#define _S3C2451_
2017-07-10 20:07:07
510
原创 出现了一个意外情况,不能完成所有你在设置中所要求的更改
今天,在修改IP地址的时候出现了一个问题:出现了一个意外情况,不能完成所有你在设置中所要求的更改。上网搜了下答案,发现只能在dos指令下设置,但是每次都要用dos指令很麻烦,于是我就想到了做一个类批处理文件。首先创建一个记事本,输入netsh interface ip set address name="以太网" static 192.168.2.62 255.255.255.0paus
2017-05-09 16:38:27
33425
3
原创 指针和const的联系---常量指针与指针常量
在C++中,我们可以令指针指向常量或者非常量。指向常量的指针不能用于改变其所指对象的值,想要存放常量对象的地址,只能使用指向常量的指针。const double pi = 3.14; //pi是一个常量,它的值不能被改变double *ptr = π //错误:ptr是一个普通的指针const double *cptr = π //正确:cptr可以指向一个双精
2017-05-05 18:26:50
311
原创 c与c++的区别(一)
1.main()函数的返回类型必须为int,即整数类型。int类型是一种内置类型,即语言自身定义的类型。2.在大多数系统中,main的返回值被用来指示状态。返回值0表示成功,非0的返回值含义由系统定义,通常指出错误类型。3.c++中使用iostream库,包含istream和ostream两个基础库,分别表示输入流和输出流。4.定义了4个IO对象,cin和cout称为标准输入输出。用c
2017-05-02 17:12:42
275
原创 linux下vim配置之一键编译运行
我们知道Linux下有很多文本编辑器,但毫无疑问,vim是所有Unix及Linux系统标准的编辑器,就如同windows系统中的记事本一样。它具有很多强大的配置比如自动换行,自动缩进等等。通常使用linux的都是开发者,编程者。所以编译和运行是两个必不可少的工作,但是在linux下每次编辑完都必须退出vim,然后编译,最后运行。一开始没觉得有什么不好的,但是随着代码量的增多,频繁的修改,这些都
2017-03-27 21:21:17
4019
1
原创 单向链表的各个操作
/*****************************************************copyright (C), 2016-2017, Lighting Studio. Co., Ltd. File name:Author:王凡 Version:0.1 Date: Description:Funcion List: **************
2017-02-09 23:01:46
198
原创 二分法排序
二分法插入排序是在插入第i个元素时,对前面的0~i-1元素进行折半,先跟他们中间的那个元素比,如果小,则对前半再进行折半,否则对后半进行折半,直到left>right,然后再把第i个元素前1位与目标位置之间的所有元素后移,再把第i个元素放在目标位置上。/*****************************************************copyright (C
2017-02-07 20:15:58
563
原创 Training2:位操作训练
1. 题目:请编写一个c函数,该函数给出一个字节中被置为1的位的个数/*****************************************************copyright (C), 2016-2017, Lighting Studio. Co., Ltd. File name:Author:luoye Version:0.1 Date: Des
2017-02-05 14:21:07
249
原创 编写函数void count(char a[],char w[][10],int n,int b[])。功能是:统计w指向的数组中的n个单词在a指向的字符串中各自出现的次数(将非字母字符看作单词分
编写函数void count(char a[],char w[][10],int n,int b[])。功能是:统计w指向的数组中的n个单词在a指向的字符串中各自出现的次数(将非字母字符看作单词分割符),拧将统计结果依次保存在b指向的数组中。/*****************************************************copyright (C), 2016-20
2017-02-05 14:19:22
4818
1
原创 编写函数int stat(int a[],int n,int c[][2])。a指向的数组中保存了由n个1位整数组成的数列(n为偶数)。函数从前至后依次将a数组中每两个相邻元素拼成一个不超过2位的
编写函数int stat(int a[],int n,int c[][2])。a指向的数组中保存了由n个1位整数组成的数列(n为偶数)。函数从前至后依次将a数组中每两个相邻元素拼成一个不超过2位的整数,从而生成有n/2个元素组成的整数数列;统计该数列中不同整数各自出现的次数,并将统计结果保存到c指向的二维数组中。函数返回不同整数的个数。/**************************
2017-02-05 13:09:40
1291
原创 找出7个默森尼数。法国数学家默森尼曾提出下列公式:Mp=2^p-1。当p是素数并且Mp也是素数时,称Mp为默森尼数, 例如,p=5,Mp=2^5-1=31,5和31都是素数,因此31是默森尼数;而Mp
找出7个默森尼数。法国数学家默森尼曾提出下列公式:Mp=2^p-1。当p是素数并且Mp也是素数时,称Mp为默森尼数,例如,p=5,Mp=2^5-1=31,5和31都是素数,因此31是默森尼数;而Mp=2^11-1=2047,11是素数,2047不是素数,因此2047不是默森尼数..#include int prime(int num);int main(){ int i,j; lo
2017-02-04 23:01:20
935
原创 对N行N列二维数组的每一行排序,偶数行(0当作偶数)由小到大排序,奇数行由大到小排序
/*****************************************************copyright (C), 2016-2017, Lighting Studio. Co., Ltd. File name:Author:luoye Version:0.1 Date: Description:Funcion List: ***********
2017-02-04 22:56:44
1646
原创 工程管理器及makefile模板的使用
1.概念和基础工程管理器,顾名思义,是指管理较多的文件 Make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能构根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件文件的内容来执行大量的编译工作。makefile是make读入的惟一配置文件,因此本节的内容实际就是讲述makefile的编
2017-01-20 20:23:23
691
原创 linux 中动态库和静态库的创建和使用
静态库的创建:1.将.c文件全部编译为.o文件2.在linux下输入命令: ar rcs 静态库名 目标文件1 目标文件2静态库的使用:输入命令: gcc -o file file.c –L. -lname备注: file表示文件名,-L是搜索路径,-l是链接到库的名字(可以简写库的名字) 库的名字由 lib+name+后缀 静态库的后缀为.a 动态库的后缀为.so
2017-01-19 17:02:30
347
原创 多源代码文件程序的编译
使用多个函数的最简单方法就是将它们放在同一文件中,然后像编译单个函数的文件一样对该文件进行编译。1.UNIX首先假定UNIX系统下安装了标准的编译器cc。文件file1.c和文件file2.c中包含有c函数,命令如下:cc file1.c file2.c另外还将生产两个目标文件file1.o和file2.o。如果随后只更改了文件file1.c而file2.c没有改变,可以使用命令编
2017-01-17 19:46:43
3985
1
原创 数组和指针(二)
四.函数,数组和指针假定要编写一个对数组进行操作的函数,目的是要此函数返回数组内所有元素的和,调用函数如下:total=sum(marbles);那么函数原型应该为:int sum(int *ar,int n){ int i; int total=0; for(i=0;i total+=ar[i];retu
2017-01-12 17:05:41
455
原创 数组和指针(一)
一.数组数组由一系列类型相同的元素构成。可以使用声明告诉编译器你需要一个数组。数组的声明中包括数组元素的数目和元素的类型。1.初始化含有12个元素的数组可以用来存储12个月的天数。int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};数组的第一个元素为days[0],最后一个元素为days[11],没有day[12]这个元素。
2017-01-12 17:04:17
395
原创 c控制语句:分支和跳转
一.if语句#includeint main(void){ const int FREEZING=0; float temperature; int cold_days=0; int all_days=0; printf("Enter the list of daily low temperatures.\n"); p
2017-01-08 23:02:39
390
原创 c:循环
一个好的语言应该能够提供一下三种形式的程序流:1.顺序执行语句序列。(顺序)2.在满足某个条件之前反复执行一个语句序列。(循环)3.通过进行一个判断在两个可选的语句序列之间选择执行。(分支)一.再探while循环#includeint main(void){ long num; long sum=0L; int status; p
2017-01-07 22:43:52
641
原创 认识运算符,表达式和语句
一.循环简介#include#define ADJUST 7.64#define SCALE 0.325int main(void){ double shoe,foot; shoe=9.0; foot=SCALE*shoe+ADJUST; printf("Shoe size(men is) foot length\n"); pr
2017-01-05 13:43:36
490
原创 字符串和输入输出
一.示例程序#include#include#define DENSITY 62.4int main(){ float weight,volume; int size,letters; char name[40]; printf("Hi!what is your first name?\n"); scanf("%s",name)
2016-12-24 20:32:21
537
原创 c中的数据类型
一.示例例一.#includeint main(void){ float weight; float value; printf("Are you worth your weight in rhodium?\n"); printf("Let is check it out.\n"); printf("Please enter you
2016-12-17 21:13:14
417
原创 初入c语言程序
一.第一个c语言程序#includeint main(void){ int num; num=1; printf("I am a simple "); printf("computer.\n"); printf("My favorite number is %d because it is first.\n",num); re
2016-12-13 15:36:57
416
原创 c语言介绍
一.c语言的起源c语言在1972年由贝尔实验室的Dennis Ritchie开发,但是它不完全是由Ritchie开发的,它起源于Thompson的B语言。与其他语言以实用为目标不同,c语言是专门为编程人员开发的语言,这个使它成为人们首选的编程语言之一。二.c语言的优缺点优点:1.强大的控制结构 2.高效性(可以充分调动CPU的功能) 3.移植性强
2016-12-12 22:03:49
839
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人