自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小午的专栏

C语言

  • 博客(32)
  • 收藏
  • 关注

原创 程序中的三国天下

在c语言中主要运用的涉及到3个区 栈:主要用于函数的调用和自动变量的存储。由于栈的内部机制决定了栈中的内容,当一个函数调用完毕,局部变量就不再存在。 堆:主要用于动态内存分配。堆的分配是在内存中有很大的一段空闲链表用于存放堆的内容。当使用了动态分配的时候,系统会自动查找适合的空闲链表,查找到之后,会把这个链表的首元素的地址发送给程序,并且把这个链表从空闲链表中剔除出来。当使用完毕之后,

2015-04-08 17:12:18 435

转载 深入浅出html请求与响应

HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(

2015-04-06 15:34:00 1940

原创 数据结构:顺序表的操作

// shujujiegou.cpp : 定义控制台应用程序的入口点。 // /* ============================================================================ Name : 数据结构1.c Author : xiaowu Version : 1.0 Copyright :

2015-04-06 00:26:57 470

原创 关于eclipse cdt无法正常使用printf和scanf的解决办法

在主函数首行加一句 setbuf(stdout, NULL);

2015-04-04 06:35:43 906 1

原创 函数重载1

//============================================================================ // Name : 函数重载.cpp // Author : // Version : // Copyright : Your copyright notice // Description : Hell

2015-04-03 12:18:14 463

原创 函数重载,这里是怎么回事?

//============================================================================ // Name : 函数重载.cpp // Author : // Version : // Copyright : Your copyright notice // Description : Hell

2015-04-03 11:10:14 486 2

原创 c++:动态内存分配(new和delete的使用)

//============================================================================ // Name : c++动态内存分配.cpp // Author : // Version : // Copyright : Your copyright notice // Description :

2015-04-02 23:15:43 503

原创 c++:结构体类型作为函数参数

//============================================================================ // Name : 结构体引用1.cpp // Author : // Version : // Copyright : Your copyright notice // Description : He

2015-04-02 23:06:23 1160

转载 静态变量

对静态局部变量的说明: 静态局部变量在静态存储区内分配存储单元。在程序整个运行期间都不释放。而自动变量(即动态局部变量)属于动态存储类别,存储在动态存储区空间(而不是静态存储区空间),函数调用结束后即释放。为静态局部变量赋初值是在编译时进行值的,即只赋初值一次,在程序运行时它已有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。而为自动变量赋初值,不是在编译时进行的,而

2015-04-02 21:53:33 332

原创 域运算符

# include int var = 100;//定义一个全局变量 int main(void) { int var = 50;//定义一个局部变量 std::cout<<var<<std::endl;//同名的局部变量会把全局变量屏蔽掉 std::cout<<::var<<std::endl;//::为域运算符,表示取全局变量的值 return 0; }

2015-04-02 18:40:16 619

原创 二维数组指针的使用

# include int main(void) { int a[3][4] = {{0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11}}; printf("%0x\n", a); printf("%0x\n", a+1); printf("%0x\n", a+2); printf("\n"); printf("%0x

2015-04-01 14:57:41 461

原创 关于内存对齐问题

#include using namespace std; #pragma pack(4) struct Student { int a; char b;//从这里开始到short c ,正好4个字节可以存放 char c1; char c5; short c; char c2;//从这里开始和short 占用四个字节 short c3;

2015-03-31 15:03:31 309

原创 from c to c++ : const

/* filename:from c to c++ : const function:using const */ #include using namespace std; int main() { //const int a;//Error 常量在定义的时候,必须初始化 //const int a = 10; //a = 200;//Error 常

2015-03-31 13:25:27 363

原创 from c to c++: using the boolean

/*     filename: form c to c++ 1     function: using the boolean */ # include int main() { int i=3; int j; j = sizeof(++i+ ++i); printf("i=%d j=%d\n", i ,j); return 0; }

2015-03-31 12:17:36 379

原创 ++操作符的使用1

# include int main() { int i=3; int j; j = sizeof(++i+ ++i); printf("i=%d j=%d\n", i ,j); return 0; } /* * 这里相当于调用了一个函数,返回的值是i变量类型所占的字节数, * 当函数执行完,i的值是没有改变的,所以并没有改变i变量的值

2015-03-30 23:53:42 305

原创 数组指针的疑惑

# include int main(void) { int a[5] = {1, 2, 3, 4, 5}; int *ptr = (int *)(&a+1); printf("%0x\n", &a); printf("%0x\n", &a+1); printf("%0x\n", ptr);//指向数组最后一个元素的下一个地址空间 printf("%d\n", *ptr);//垃圾

2015-03-30 23:39:31 301

原创 变量的存储类型和使用方法

变量的存储类别: 静态类和自动类 静态类有:static 自动类有:auto和register 变量的存储类别确定了所说明对象在内存中的存储位置:动态存储区(堆栈),静态存储区,程序代码区 auto :变量是被分配在动态存储区 在每一次执行函数的时候,系统都会重新给这个变量分配一段存储空间,当函数结束的时候,释放这段内存空间 这也是为什么在访问函数内部定义的变量的时候,是不能访问的,只

2015-03-30 20:37:20 590

原创 精彩百例:函数指针和typedef的应用

/* filename:typedef function:create a pointer to point a function and typedef a data type to point function */ # include typedef struct { int age; }people; void say_hello() { printf

2015-03-30 19:06:43 376

原创 精彩百例:函数指针

# include void SayHello() { printf("Hello C!\n"); } int main() { void (*p)();//定义一个指向函数的指针,返回的类型要和所指向的函数所返回的类型保持一致 //同时传递的参数也要保持一致 p = SayHello; p(); return 0;

2015-03-30 18:09:37 284

原创 精彩百例:二维数组指针

# include int main(void) { int array[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; printf("%0x, %0x, %0x\n", array[0], array[1],

2015-03-28 23:08:30 330

原创 精彩百例:一维数组指针

/* filename: the point of the one-dimensional array function: inverse the array */ # include void inv(int *x, int n); int main(void) { int i; /* initial the array */ int array[10

2015-03-28 22:31:24 339

原创 精彩百例:静态变量和动态变量

/* filename: sort of the memory for the variable function: introduce the difference of the static variable and dynamic variable */ # include int sum_day(int month, int day); int leap(int yea

2015-03-28 13:10:36 762

原创 精彩百例:局部和全局变量

/* filename:local variable and global variable function:introduce the difference of the local variable and the local variable */ # include int count; void func1(); void func2(); int main(voi

2015-03-28 12:25:18 465

原创 精彩百例:函数的递归调用

/* filename: the recursion function: convert the number to char */ # include void convert_num(int num); int main(void) { int num; printf("Please input the number what you need conver

2015-03-28 11:20:35 495

原创 精彩百例:数组函数调用

/* filename: function call of the array function: convert the array */ # include #define N 3 void convert_array(int array[N][N]); int main(void) { int array[N][N]; int i; int j

2015-03-28 10:45:27 477

原创 精彩百例:交换两个数的位置

/* filename:函数调用交换 function:swap the number notice: 在调用函数的时候,如果需要改变某些变量的值,并且需要把这些值返回 就必须使用指针来传递函数参数 否则是不能改变变量的值的(除非直接返回某个参数的值:如return x;) */ # include

2015-03-28 10:10:55 586

原创 精彩百例:一维数组,选择排序

/* file name:选择法排序 重点在于循环赋值给min,找出最小值的排序方法 */ # include int main(void) { int i, j, min, temp; int array[10]; /*输入数组元素*/ printf("please input ten integer: \n"); for(i=0; i<10

2015-03-27 21:44:07 530

原创 精彩百例:exit()函数

# include # include int main(void) { int month; int day; printf("please input the month number :"); scanf("%d", &month); switch(month) { case 1: case 3:

2015-03-27 20:14:40 348

原创 精彩百例:break和continue使用区别

/* break和continue的区别 break用于跳出循环(跳出内层循环) continue用于跳转到++操作符,进行下一次循环操作 */ # include int main(void) { int radius;//存放园的半径 double area;//存放圆面积 for(radius = 1; radius <=

2015-03-27 19:53:34 359

原创 精彩百例3:指针操作符

# include int main(void) { /*声明一个指针变量,指针指向的地址存放的是int类型的变量*/ int * p; int begin, end; begin = 10; /*把变量begin的地址赋值给p,这样p就存放了变量的地址*/ p = &begin; /* *p是取值操作符,取出p所指向的地址里面的内容,

2015-03-27 19:29:40 288

原创 精彩百例3

/* * ++运算符的使用 * ++i 是先自增,再赋值 * i++ 是先赋值,再自增 */ #include int main() { int i, j, k; int m, n, p; i = 8; j = 10; k = 12; /*++i是先自增,再赋值*/ m = ++i; //m = 9; i = 9; printf("i = %d\n"

2015-03-27 19:05:28 295

原创 精彩编程百例1

/* *数据类型转换 * * 不同类型的数据要转换成同一类型的才可以进行计算 * 相同类型的数据在转换时有规则可循 * 字符型先转换为整数 * short型转换为int型 * float型在运算时转换为double型 * 不同类型数据发生转换时,遵循低级向高级类型转换的原则 * 在赋值语句中,若发声类型转换,赋值语句右边的值转换为左值得类型 * */

2015-03-27 14:57:21 307

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除