`
文章列表
一. 指针的基本操作有:赋值(assignment),求值(value-finding)或取值(dereferencing),区指针地址,将一个整数家给指针,增加指针的值,从指针中减去一个整数,减小指针的值,求差值(Differencing),比较。 下面以一个例子进行说明:   #include<stdio.h> int main(void) { int *ptr1,*ptr2,*ptr3; int urn[5] = {100,200,300,400,500}; ptr1 = urn; //把一个地址赋给指针 ptr2 = &urn ...
C中一元运算符*和++具有相等的优先级,但它们在结合时是从右向左的。 例: #include<stdio.h> int data[2] = {100,200}; int moredata[2] = {300,400}; int main(void) { int *p1,*p2,*p3; p1 = p2 = data; p3 = moredata; printf("*p1 =%d, *p2 = %d, *p3 = %d\n",*p1,*p2,*p3); printf("*p1++ = %d,*p2++ = ...
编写一个对数组进行操作的函数,目的是返回数组内所用元素的和。   第一种形式:函数原型为int sum(int ar[],int n)   #include<stdio.h> #define SIZE 4 int sum(int ar[],int n); int main(int argc,char *argv[]) { int arrays[SIZE] = {1,2,3,4}; long answer; answer = sum(arrays,SIZE); printf("total:%ld.\n",answer); ...
下面介绍一下关于数组的一些说明:    在数组声明时必须定义数组长度,但也可利用空的方括弧[]对数组初始化,使编译器自动根据列表中的值自动计算数组长度。 例:                         int array[12];                         int array[]={1,2} //           但是若数组声明的方式是这样的:                         int array[12] = {1,2}  //其余未被声明的会初始化为0                即:如果不初始化数组,数组元素和未初始化的普通变 ...
1.sizeof函数 sizeof函数返回表达式所占的内存空间(以字节为单位)  例: #include<stdio.h> #define MONTHES 12 int main(void) { int days[MONTHES] = {31,28,31,30,30,30}; int len = sizeof(days); printf("days:%d",len); return 0; }  这段程序输出的结果为:days:48      因为一个int型在内存中占4个字节,而days数 ...
在C中定义字符串有下列几种形式:字符串常量,char数组,char指针 1.字符串常量    即:位于一对双括号中的任何字符。双引号里的字符加上编译器自动提供的结束标志\0字符,作为 一个字符串存储在内存中。如:printf("%s","hello"); //"hello"     如果字符串文字中间没有间隔或间隔的是空格符,ANSI  C 会将其串联起来。例:      char greeting[50] = "hello,and" "how are" "you"; ...
int guess = 1; char yn; printf("enter a number:"); printf("Uh....is %d?\n",guess); while((yn= getchar()) != 'y') { if( isalpha(yn)) { printf("well,then ,is it %d?\n",++guess); } else { printf("input error\n&quo ...
    例:   #include<stdio.h> int main(void) { char ch; while((ch = getchar()) != '#') putchar(); return 0; }    在这个程序中,运行情况如下:    hello,world [Enter]     -->输入"hello,world"后输入Enter键    hello,world ...
在C中scanf()函数返回成功读入的变量的个数。如果它没有读取任何项目(输入非法字符,例如:希望得到数字,而用户却输入的是字符),scanf()返回值为0.当检测到“文件结尾”是,会返回EOF(EOF是在文件stdio.h中定义的特殊值,一般,#define指令把EOF的值定义为-1). 利用scanf()以上的性质,可对输入值进行检验,代码如下:     #include<stdio.h> int main(void) { int num; int status; printf("input the value of num:" ...
在vs2008中编写c控制台程序,运行完后经常一闪而过,以下是结合网上内容及自己体会整理的解决办法: 方法1:        运行时,用Ctrl+F5 ,就会在程序结束时显示“请按任意键继续. . .” (原理我也不知道) 方法2:         在程序的结束位置添加                //fflush(stdin);//清除输入缓冲区的数据, (有的时候需要这一语句,详情见说明1                getchar();         说明1:对于程序中有scanf语句的,要加上fflush(stdin);                  因为在用s ...
C语言代码:     #include<stdio.h> int main(void) { printf("Type int has a size of %u bytes.\n",sizeof(int)); printf("Type char has a size of %u bytes.\n",sizeof(char)); printf("Tyep long has a size of %u bytes.\n",sizeof(long)); printf("Type d ...
源自: http://forum.ubuntu.org.cn/viewtopic.php?t=85766&sid=4e2c89918a6a4cc0bc7ab9a2c7c0418b UBUNTU开启TELNET服务 1. sudo apt-get install xinetd telnetd 2. 安装成功后,系统也会有相应提示, sudo vi /etc/inetd.conf并加入以下一行 telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd 3. sudo vi /et ...
源自:http://hi.baidu.com/ilovejoy/blog/item/a4d2e63d8a3b74e33d6d9787.html Tarball的管理与建议:        好了! 在我们知道了原始码的相关资讯之后,再来要了解的自然就是如何使用具有原始码的Tarball 来建立一个属于自己的套件啰! ...
源自:http://forum.ubuntu.org.cn/viewtopic.php?t=5408 本文以RedHat9.0和i386平台为例,剖析了从用户打开电源直到屏幕出现命令行提示符的整个Linux启动过程。并且介绍了启动中涉及到的各种文件。   阅读Linux源代码,无疑是深入学习Linux的最好方法。在本文对Linux启动过程的介绍中,我们也尝试从源代码的视角来更深入的剖析 Linux 的启动过程,所以其中也简单涉及到部分相关的Linux源代码,Linux启动这部分的源码主要使用的是C语言,也涉及到了少量 ...
linux系统的启动过程是这样的: 加载BIOS的硬件信息,并获得第一个启动设备的代号。 读取第一个启动设备的MBR的引导加载程序(即lilo,grub,spfdisk等)的启动信息。 加载核心操作系统的核心,核心开始解压缩(同时可能通过initrd建立虚拟盘(RAM Disk)协助启动过程),并尝试驱动所有的硬件设备。 核心执行init程序并获取运行信息。 init执行/etc/rc.d/rc.sysinit文件。 启动核心的外挂模块(/etc/modprobe.conf). ini ...
Global site tag (gtag.js) - Google Analytics