- 博客(15)
- 收藏
- 关注
原创 函数与指针
1、用函数指针调用函数指针变量可以指向一个函数。一个函数在编译时被分配给一个入口地址。这个函数入口地址就称为函数的指针。可以用一个指针变量指向函数,然后通过该指针变量调用此函数。int max(int x,int y); //函数声明int(*p)(int,int); //定义指向函数的指针变量pp = max; //使p指向函数m
2016-07-19 18:52:04 527
原创 C++抽象类
如果声明了一个类,一般可以用它定义对象。但是在面对对象程序设计中,往往有一些类,它们不用来生成对象。定义这些类的唯一目的就是用它作为基类去建立派生类。抽象类是为了抽象和设计的目的而建立的,处于继承层次结构的上层。具体类是能够建立对象的类。抽象类的规定(1)抽象类只能用作其他类的基类,不能建立抽象类对象。(2)抽象类不能用作参数类型、函数返回类型或显式转换的类型。(3)可以定义指向抽象类的指针和引用,
2016-07-19 18:33:58 1431
转载 static说明
static 声明的变量在C语言中有两方面的特征: 1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。 2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。 Tips: A.若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度;
2016-07-19 18:05:26 531
原创 快速排序(完整程序c语言实现)
键码序列(66,13,51,76,81,26,57,69,23)进行快速排序。 求第一趟划分后的结果。 关键码序列递增。 以第一个元素为划分基准。 【主要方法步骤】如下: 将两个指针i,j分别指向表的起始和最后的位置。 反复操作以下两步: (1)j逐渐减小,并逐次比较j指向的元素和目标元素的大小,若p(j)#include<stdio.h>#include<stdlib.h>void
2016-07-16 21:57:09 3091
原创 替换子字符串(将字符串中的某个子字符串替换为给定的字符串)
#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <string.h>int replace_sub_str(const char *str,const char *substr,char *repstr,char *result){ const char *p,*q,*re,*temp1; //
2016-07-11 11:00:00 2497
原创 用指针求出字符串的长度
#include<stdio.h>void strle(char str[]){ char *p; int len = 0; p = str; while(*p) { len++; p++; } printf("%d",len);}void main(){ char str[20] = "abcd"
2016-07-10 17:04:31 3763 1
原创 关于华为的一道笔试题(传值和传引用)
#include <stdio.h> #include <stdlib.h> void getmemory(char *p) { p=(char *) malloc(100); strcpy(p,"hello world"); } int main( ) { char *str=NULL; getmemory(str);//等于getmemor
2016-07-07 12:05:22 590
转载 什么是预编译?何时需要预编译?
什么是预编译:预编译又称为预处理 , 是做些代码文本的替换工作。 处理以# 开头的指令 , 比如拷贝 #include 包含的文件代码,#define 宏定义的替换 , 条件编译等,就是为编译做的预备工作的阶段。主要处理#开始的预编译指令,预编译指令指示了在程序正式编译前就由编译器进行的操作,可以放在程序中的任何位置。C 编译系统在对程序进行通常的编译之前,首先进行预处理。 c 提供的预处理功
2016-07-07 11:19:27 19390 2
原创 不使用库函数,编写函数int strcmp(char *source, char *dest) 相等返回0,不等返回-1;
#include<stdio.h>int strcmp(char *source, char *dest){ int m,n,i,flag; m = strlen(source); n = strlen(dest); if(m!=n) flag = -1; if(source==NULL&&dest==NULL) { fl
2016-07-07 11:10:29 1860
原创 替换空格(c语言完整版程序)
题目:请实现一个函数,把字符串中的每个空格替换为“20%”。例如输入“we are happy”,则输出“we20%are20%happy”;#include<stdio.h>#include<stdlib.h>#include<string.h>void replaceBlank(char string[],int len){ int oriLen = 0; //oriLen
2016-07-06 19:57:38 1876
原创 二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。#include<stdio.h>#include<stdlib.h>void Find(int *matrix,int rows,int columns,int number){ int row = 0; in
2016-07-06 19:01:17 322
原创 函数的重载、覆盖和隐藏
1、重载和覆盖 成员函数被重载的特征: (1) 相同的范围(在同一个类中)。 (2) 函数名字相同; (3) 参数不同; (4) virtual关键字可有可无; 覆盖是指派生类函数覆盖基类函数,特征是: (1) 不同的范围(分别位于派生类与基类) (2) 函数名字相同; (3) 参数相同; (4)基类函数必须有 virtual关键字; 2
2016-07-06 15:07:02 243
原创 什么是hashtable,如何解决hash冲突
哈希函数:在记录的关键字与记录的存储地址之间建立的一种对应关系叫哈希函数。 哈希函数是一种映象,是从关键字空间到存储地址空间的一种映象。可写成:addr(ai)=H(ki) ,其中i是表中一个元素,addr(ai)是ai的地址, ki是ai的关键字。 哈希表:应用哈希函数,由记录的关键字确定记录在表中的地址,并将记录放入此地址,这样构成的表叫哈希表。 哈希查找(又叫
2016-07-05 20:36:54 3672
转载 【Eclipse使用方法】Eclipse中安装插件的三种方式
在线安装:以TestNG的安装为例来阐述其安装过程。第一步:点击菜单栏中“Help”菜单,在下拉列中选择“Install New Software…”.此时会弹出“install”的安装框。第二步:在弹出的“install”框,选择之前已经建立好的site,如果没有建立好,则可以点击“Add”按钮,弹出一个添加site的对话框,在该框中的Name属性后面给该site起一个别名,在location属性
2016-07-02 08:49:41 12085 2
转载 c语言指针的初始化和赋值
1、指针的初始化 指针初始化时,“=”的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int*p=0;除外,该语句表示指针为空)。此时,*p只是表示定义的是个指针变量,并没有间接取值的意思。 例如: int a = 25; int *ptr = &a; int b[10]; int *point = b; int *p = &b[0];如果:int *p
2016-07-01 09:41:55 748
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人