C基础
_猜猜猜
这个作者很懒,什么都没留下…
展开
-
关于一些小问题
有一个小程序#include <stdio.h>#define M(x,y,z) x*y+zmain(){ int a=1, b=2, c=3; printf("%d\n",M(a+b,b+c,c+a));}计算结果不是19,而是12,为什么呢,是因为它不是把数值计算好了再带入,而是直接带入a + b*b + c + c + a。#include<stdio.h原创 2016-04-12 13:28:41 · 373 阅读 · 0 评论 -
双指针的使用与函数返回数组
昨天做题的时候遇到一道题目,涉及到双指针和函数返回数组的问题,困惑了很久。今天查了下资料,大概明白了。双指针就是指向指针的指针,我们都清楚,指针是指向地址,以数字为例。 int a = 2; int *b; b = &a;那么很明显*b = 2;由于指针也是有地址的,它不是凭空存在的,所以,如果我们取双指针,那么双指针一定是指向一个地址的地址。int a = 2;int原创 2016-04-10 21:48:26 · 611 阅读 · 1 评论 -
int *const p与int const *p与const int *p与const *int p
首先,最好解决的就是const int p,这种写法是错的,语法错误,没有这种写法,剩下三种再来做解释。、首先解释const:可以定义const常量,具有不可变性。例如:const int Max=100; Max++会产生错误;const和指针一起使用是C语言中一个很常见的困惑之处,在实际开发中,特别是在看别人代码的时候,常常会因为这样而不好判断作者的意图,const只修饰其后的变量,至于cons原创 2016-04-14 17:51:01 · 562 阅读 · 0 评论 -
基本数据类型
C语言中最基本的应该就是数据类型,下面给大家介绍一下基本数据类型#include <stdio.h>#include <stdlib.h>void main(){ int a = 0; float b = 0; double c = 0; char d = 0; long int e = 0; long double g = 0; lon原创 2016-04-12 22:24:25 · 255 阅读 · 0 评论 -
C位运算
以下转自百度百科 程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进制是1011,那么6 and 11的结果就是2,它是二进制对应位进行逻辑运算的结果(0表示False,1表示True,空位都当0处理)。 转自http原创 2016-04-17 21:16:17 · 338 阅读 · 0 评论 -
unsigned关键字的学习
在C语言里面有一个关键字unsigned,这个关键字是用来声明无符号类型。一个 32 位的 signed int 类型整数其值表示法范围为: – 2³¹~ 2³¹-1 ;一个 32 位的 unsigned int 类型整数其值表示法 范围为: 0~ 2³² -1,这是为什么呢,我们来仔细看看,首先一个int型是占4bit,也就是4 * 8个二进制数字,然后由于它是signed所以,第一个是用来表示原创 2016-04-17 20:48:55 · 689 阅读 · 0 评论 -
大端机,小端机入门级理解
大端机,小端机其实说的就是一种存储方式,是数据在内存中存储的方式。大家可以想一想,计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。int 是4字节,32bit,大于一个字节,另外,对于位数大于8位的处理器,例如32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着如何将多个字节安排的问题。因此就导致了大端存储模式和小端存储模式。 例如一个16bit的sho原创 2016-04-21 15:11:01 · 1101 阅读 · 0 评论 -
简单排序算法
第一个:冒泡排序: 简单来说,就是不停的与旁边的比较,然后交换,总之运算的交换次数挺多的,后面再来比较几种排序方法void bubblesorthead(int* pData, int Count){ int itemp; for(int i = 0; i < Count - 1; i++) { for(int j = 1; j <= i + 1; j +原创 2016-04-21 21:48:01 · 227 阅读 · 0 评论 -
快排的方法与代码
博主在写快排之前,写好了冒泡,选择,插入,觉得他们三个都属于那种很直观,操作很简单的排序,但是复杂度都很大,计算机里面,越是方法简单,复杂度就越是高,所以就看了看快排,我觉得,快排里面最麻烦的就是怎么理解它的思想,其实它的代码很少,比插入排序还要少一些,但是理解难度大一些,因为它的里面有两个递归,凡是有递归的地方一般都好麻烦,但是借助图像大家也还是可以试着理解,理解不了就先记住代码,之后多用几遍就好原创 2016-04-22 11:55:01 · 381 阅读 · 0 评论