随笔分类 - C语言学习
摘要:文件头注释:/*-------------------------------------------------------------------------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 : ...
阅读全文
摘要:今天遇到的问题: 局部变量虽然每次都被初始化,如果没有其他变量的改动,还是初始化为原来的地址,所以还会保持上一次的值。
阅读全文
摘要:http://learn.akae.cn/media/index.html
阅读全文
摘要:内存管理将函数中命令、语句编译成相应序列的机器指令代码,放在代码段中;将已初始化的数据,如已赋值的全局变量、静态局部变量等放在数据段内;将未初始化的数据放在BSS段内;将临时数据,如函数调用时传递的参数、局部变量、返回调用时的地址等放在栈段内;而对一些动态变化的数据,如在程序执行中建立的一些数据结构,如链表、动态数组等放在堆结构中。Malloc()和free()来分配和释放内存PC机存储器分为主存储器、外存储器和高速缓存(Cache)几个部分堆是一种动态存储的结构,实际上就是数据段中的自由存储区,他是C语言中使用的一中名称,常常用于动态数据结构存储分配。堆管理函数:Malloc() free(
阅读全文
摘要:// 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];}
阅读全文
摘要:字符串处理函数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== '
阅读全文
摘要:#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
阅读全文
摘要:函数: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
阅读全文
摘要:#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预
阅读全文
摘要:可以用typedef声明新的类型名来代替已有的类型名。如: typedef int INTEGERtypedef float REAL底子太薄了,哎,惭愧,看看基本运算符吧,赋值运算符:“=”表示,左操作数是一个变量,右操作数可以是其他的表达式,它表示将表达式计算结果的值赋给左边的变量。除法(/)运算的2个变量均为整型,则结果为整除取整。否则结果就是浮点型的。参与模运算(%)的2个变量只能是整型,而不能是浮点型。全局变量初始化默认是0,不过局部变量就是未知数了!等号的返回值:等号返回的是“=”右边的值!
阅读全文
摘要:一、内部函数一个函数只能被本文件中其他函数调用,它称为内部函数。在定义内部函数时,在函数名和函数类型的前面加static.static int fun(int a, int b)内部函数又称为静态函数。通常把只能由同一文件使用的函数和外部变量放在一个文件中,在它们前面都冠以static使之局部化,其他文件不能引用。二、外部函数(1)在定义函数时,如果在函数首部的最左端冠以关键字extern,则表示此函数时外部函数,可供其他文件调用。extern int fun(int a, int b)C语言规定,如果在定义函数时省略extern,则隐含为外部函数。(2)在需要调用此函数的文件中用extern
阅读全文
摘要:(*(void(*)())0)(),这是在C陷阱与缺陷中,关于解决计算机开机启动后,硬件读取首地址为0位置的子例程的代码。 先看(*fp)(),fp是一个函数指针,*fp就是该指针所指向的函数,(*fp)()就是调用该函数的方式。 我们按照题目要求假设可以的话,则字面上可以写成(*0)();但是,正如(*fp)(),运算符*必须要一个 指针来作操作数,并且是函数指针,这样经过运算符*作用后的结果才能作为函数被调用。因此 ,需要对0进行类型 转换,转换后的意思可以描述为:指向返回值为void类型的函数的指针,其等价于( void (*) () )0。(*0)()加上 0转换后的类型为(...
阅读全文
摘要:优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右()圆括号(表达式)/函数名(形参表).成员选择(对象)对象.成员名->成员选择(指针)对象指针->成员名2-负号运算符-表达式右到左单目运算符(类型)强制类型转换(数据类型)表达式++自增运算符++变量名/变量名++单目运算符--自减运算符--变量名/变量名--单目运算符*取值运算符*指针变量单目运算符&取地址运算符&变量名单目运算符!逻辑非运算符!表达式单目运算符~按位取反运算符~表达式单目运算符sizeof长度运算符sizeof(表达式)3/除表达式/表达式左到右双目运算符*乘表
阅读全文
摘要:#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)函数功能:
阅读全文
摘要:/*-----------------------------------------------------------------------------时间:2011年9月28日文件功能:实现了动态建立一个学生信息的链表包括链表的创建、插入、删除、和打印输出学生信息包括姓名和分数本链表是带有头结点的,头结点的内容为空内容-----------------------------------------------------------------------------*//*-------------------------包含头文件-------------------------
阅读全文

浙公网安备 33010602011771号