- 博客(6)
- 收藏
- 关注
原创 指针
指针可以理解成是一个变量,一个用来存放地址的变量。(存放在指针中的值都被当成地址处理)指针的出现就是为了存放地址,而地址就相当于一个门牌号,让内存更容易被访问。指针的大小在32位平台上为4个字节,在64位平台是8个字节。指针类型指针和变量一样有不同的类型,比如int,char,double,float等。那定义了类型指针有什么意义呢?1.有了类型的区分,就相当和法律一样有了规则,使得代码更加严谨。...
2018-05-26 13:59:55 205
原创 可变参数列表解析
C语言中的可变参数是一个比较有意思的实现,通过将函数实现为可变参数的形式,可以使得函数接受1个以上的任意多个参数(不固定)例子:实现一个函数可以求任意个参数的平均值:#include <stdio.h> #include <stdarg.h> int average(int n, ...) { va_list arg; int i = 0; int sum = 0;...
2018-05-19 12:22:54 188
原创 剑指offer( 面试题 9 )--斐波那契数列
常规解法,使用循环 #include <stdio.h> long long Circ(int n) { long long n1=0,n2=1,n3=n; int i=n; for(;i>1;i++) { n3=n1+n2; n1=n2; n2=n3 ...
2018-05-12 18:19:38 285
原创 实现一个函数,可以左旋字符串中的k个字符。
解法一:使用传值的方式#include<stdio.h> char Left_hand(char *arr, int k) { int right = 0; int i = 0; int len = strlen(arr);//求出字符串长度 char ret; while(k) { ret = arr[0]; for(i = 0; i < len; i++)...
2018-05-08 23:21:44 862
原创 杨氏矩阵有一个二维数组。 数组的每行从左到右是递增的,每列从上到下是递增的。 在这样的数组中查找一个数字是否存在。时间复杂度小于O(N);
首先先了解一下杨氏矩阵 杨氏矩阵是一个从左到右依次递增,从上到下依次递增的二维数组 比如:1 2 3 2 3 4 3 4 5 解法思路: 如果要在杨氏矩阵中查找一个数,且时间复杂度小于O(N),那根据该数组特点依次递增的特性,则可以先从数组的每一行的最一个元素开始,如果相等就直接输出,如果小于要查找的数则用下一行的最后一个元...
2018-05-05 11:03:51 759
原创 将一个字符数组的内容:"student a am i",改为"i am a student". 要求:不能使用库函数。只能开辟有限个空间(空间个数和字符串的长
算法思路:首先先将整个数组逆序,然后将数组中每个单词逆序#include<stdio.h> #include<assert.h> int my_strlen(const char*str)//自己实现strlen函数 { int count=0; assert(str!=NULL);//规定str不能为空指针,断言,优化函数 while(*str)//解引用,取元素 ...
2018-05-02 16:51:33 268
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人