随笔分类 -  C语言学习

摘要:很巧的大小端转换:地址^0x03但这个地址是4个byte组成的; 阅读全文
posted @ 2013-09-29 11:32 [无名] 阅读(283) 评论(0) 推荐(0)
摘要:文件头注释:/*-------------------------------------------------------------------------This confidential and proprietary software may be only used as authorizedby a licensing agreement from Tao.(C) COPYRIGHT 2013 Tao. ALL RIGHTS RESERVEDFilename : .cppAuthor : TaoData : 2013-08-31Version : ... 阅读全文
posted @ 2013-08-31 03:01 [无名] 阅读(495) 评论(0) 推荐(0)
摘要:今天遇到的问题: 局部变量虽然每次都被初始化,如果没有其他变量的改动,还是初始化为原来的地址,所以还会保持上一次的值。 阅读全文
posted @ 2012-09-20 21:11 [无名] 阅读(202) 评论(0) 推荐(0)
摘要:http://learn.akae.cn/media/index.html 阅读全文
posted @ 2012-07-05 12:31 [无名] 阅读(279) 评论(0) 推荐(0)
摘要:内存管理将函数中命令、语句编译成相应序列的机器指令代码,放在代码段中;将已初始化的数据,如已赋值的全局变量、静态局部变量等放在数据段内;将未初始化的数据放在BSS段内;将临时数据,如函数调用时传递的参数、局部变量、返回调用时的地址等放在栈段内;而对一些动态变化的数据,如在程序执行中建立的一些数据结构,如链表、动态数组等放在堆结构中。Malloc()和free()来分配和释放内存PC机存储器分为主存储器、外存储器和高速缓存(Cache)几个部分堆是一种动态存储的结构,实际上就是数据段中的自由存储区,他是C语言中使用的一中名称,常常用于动态数据结构存储分配。堆管理函数:Malloc() free( 阅读全文
posted @ 2012-05-07 09:18 [无名] 阅读(896) 评论(0) 推荐(1)
摘要: 阅读全文
posted @ 2012-04-26 16:14 [无名] 阅读(262) 评论(0) 推荐(0)
摘要:// 2010.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"typedef struct{ unsigned int Array0[10]; unsigned int Array1[10]; unsigned int Array2[10]; unsigned int Array3[10]; unsigned int Array4[10]; unsigned int Array5[10]; unsigned int Array6[10]; unsigned int Array7[10]; unsigned int Array8[10];} 阅读全文
posted @ 2012-04-25 23:16 [无名] 阅读(209) 评论(0) 推荐(0)
摘要:字符串处理函数puts()和gets()#include<stdio.h>void main(){char str[10];gets(str);puts(str);}strcat函数其一般形式为strcat(字符数组1,字符数组2)=号返回的是=右边的值。检查输入有多少个单词:#include<stdio.h>void main(){char string[81];int i, num = 0, word = 0;char c;gets(string);for(i = 0; (c = string[i])!= '\0'; i++){if(c== ' 阅读全文
posted @ 2012-02-01 19:28 [无名] 阅读(209) 评论(0) 推荐(0)
摘要:#include<stdio.h>int main(){ float a1, a2, a3 ; float sum, ave; scanf("%f%f%f", &a1, &a2, &a3); sum = a1 + a2 + a3; ave = sum/3; printf("sum=%f, ave=%f", sum, ave ); return 0;}上面是求和运算。将一个三位数逆序输出。#include<stdio.h>main(){ int n; int n3, n2, n1; int num; prin 阅读全文
posted @ 2012-01-07 19:03 [无名] 阅读(698) 评论(0) 推荐(0)
摘要:函数:gets(),puts(),strcat()strncat(),strcmp(),strncmp()strcpy(),strncpy()sprintf(),strchr()先看gets()和puts()函数吧。/**************************************************************************************** File Name : main.c* Copyright : 2011-2012 ecjtu Corporation,All Rights Reserved* Module Name : 字符串** C 阅读全文
posted @ 2012-01-03 21:56 [无名] 阅读(274) 评论(0) 推荐(0)
摘要:#include<stdio.h>int main(void){ int f = 4; int g = 5; float h = 5.0f; printf("%d\n", f, g); printf("%d %d\n", f); printf("%d %f\n", h, g); return 0;} 上面的代码是错误的。参数不正确。第四章学习知识点:函数:strlen()关键字:const字符串:如何创建和存储字符串如何使用scanf()和printf()读取和显示字符串如何使用strlen()函数获取字符串的长度使用C预 阅读全文
posted @ 2011-12-22 04:35 [无名] 阅读(1618) 评论(0) 推荐(0)
摘要:可以用typedef声明新的类型名来代替已有的类型名。如: typedef int INTEGERtypedef float REAL底子太薄了,哎,惭愧,看看基本运算符吧,赋值运算符:“=”表示,左操作数是一个变量,右操作数可以是其他的表达式,它表示将表达式计算结果的值赋给左边的变量。除法(/)运算的2个变量均为整型,则结果为整除取整。否则结果就是浮点型的。参与模运算(%)的2个变量只能是整型,而不能是浮点型。全局变量初始化默认是0,不过局部变量就是未知数了!等号的返回值:等号返回的是“=”右边的值! 阅读全文
posted @ 2011-12-21 04:55 [无名] 阅读(239) 评论(0) 推荐(0)
摘要:一、内部函数一个函数只能被本文件中其他函数调用,它称为内部函数。在定义内部函数时,在函数名和函数类型的前面加static.static int fun(int a, int b)内部函数又称为静态函数。通常把只能由同一文件使用的函数和外部变量放在一个文件中,在它们前面都冠以static使之局部化,其他文件不能引用。二、外部函数(1)在定义函数时,如果在函数首部的最左端冠以关键字extern,则表示此函数时外部函数,可供其他文件调用。extern int fun(int a, int b)C语言规定,如果在定义函数时省略extern,则隐含为外部函数。(2)在需要调用此函数的文件中用extern 阅读全文
posted @ 2011-12-21 03:18 [无名] 阅读(912) 评论(0) 推荐(0)
摘要:(*(void(*)())0)(),这是在C陷阱与缺陷中,关于解决计算机开机启动后,硬件读取首地址为0位置的子例程的代码。 先看(*fp)(),fp是一个函数指针,*fp就是该指针所指向的函数,(*fp)()就是调用该函数的方式。 我们按照题目要求假设可以的话,则字面上可以写成(*0)();但是,正如(*fp)(),运算符*必须要一个 指针来作操作数,并且是函数指针,这样经过运算符*作用后的结果才能作为函数被调用。因此 ,需要对0进行类型 转换,转换后的意思可以描述为:指向返回值为void类型的函数的指针,其等价于( void (*) () )0。(*0)()加上 0转换后的类型为(... 阅读全文
posted @ 2011-12-21 02:40 [无名] 阅读(677) 评论(0) 推荐(0)
摘要:优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右()圆括号(表达式)/函数名(形参表).成员选择(对象)对象.成员名->成员选择(指针)对象指针->成员名2-负号运算符-表达式右到左单目运算符(类型)强制类型转换(数据类型)表达式++自增运算符++变量名/变量名++单目运算符--自减运算符--变量名/变量名--单目运算符*取值运算符*指针变量单目运算符&取地址运算符&变量名单目运算符!逻辑非运算符!表达式单目运算符~按位取反运算符~表达式单目运算符sizeof长度运算符sizeof(表达式)3/除表达式/表达式左到右双目运算符*乘表 阅读全文
posted @ 2011-12-21 01:14 [无名] 阅读(224) 评论(0) 推荐(0)
摘要:#include<stdio.h>#include<malloc.h>#include<stdlib.h>#define ListSize 100typedef int DataType;typedef struct Node{ DataType data; struct Node *next;}ListNode, *LinkList;/*******************************************************************************函数名:InitList(LinkList *head)函数功能: 阅读全文
posted @ 2011-11-16 22:40 [无名] 阅读(2353) 评论(0) 推荐(0)
摘要:/*-----------------------------------------------------------------------------时间:2011年9月28日文件功能:实现了动态建立一个学生信息的链表包括链表的创建、插入、删除、和打印输出学生信息包括姓名和分数本链表是带有头结点的,头结点的内容为空内容-----------------------------------------------------------------------------*//*-------------------------包含头文件------------------------- 阅读全文
posted @ 2011-10-05 11:09 [无名] 阅读(87942) 评论(5) 推荐(9)