c语言笔记
文章平均质量分 62
「已注销」
这个作者很懒,什么都没留下…
展开
-
指针地址与数组地址
在今天的学习中,我对指针有了更深刻的理解,在这里写下来是为了加深印象。#includeint main(){ char a[10]={'a','s','f'}; char *b; b = a; printf("%p\n",a);//指针a的值 printf("%p\n",&a);//数组a的地址 printf("\n"); printf("%p\n",b);//指针b的值原创 2014-03-22 18:58:19 · 955 阅读 · 0 评论 -
神奇的取反运算
今天在 看书的时候,看到 了这个神奇的东西.不至于原理是什么,我还没有想清楚.一个正数n取反的结果是 -(n+1)/************************************************************************* > File Name: test2.c > Author: jukay > Mail: helloju原创 2014-12-16 23:01:18 · 793 阅读 · 0 评论 -
[c语言] 自我复制程序
/************************************************************************* > File Name: copy1.c > Author: jukay > Mail: hellojukay@163.com > Created Time: 2014年12月19日 星期五 20时51分11秒 *原创 2014-12-19 21:53:36 · 3207 阅读 · 0 评论 -
无溢出求平均数
在两个数字的平均数的时候,通常都是先求和,再除以2#include#inclueint average(int a, int b){ int sum = 0; sum = a + b; return sum / 2.0;}int main(){ int a,b; double result = 0.0; scanf("%d%d",a,b); result原创 2014-11-27 11:08:43 · 672 阅读 · 0 评论 -
从交换两个变量值看c语言学习历程
在开始你使用这种方法int tmp;tmp = a;a = b;b = tmp;后来你知道了模块化编程,你知道这样是不好的,于是你开始使用函数.void swap(int *a, int *b);{ int tmp; tmp = *a; *a = *b; *b =tmp;}//下面我写函数了随着c语言的学习,后来你发现下面代码也能完成两变量的值交换的任x = x +y;原创 2014-11-23 12:59:10 · 1078 阅读 · 0 评论 -
进制转换
将一个整数转换成二进制形式,考虑负数情况。这个问题在思维模式上没有什么难得,只是要在编程中注意到一些细节,注意+0和-0的情况。大致思想是:#1.求出对应绝对值的原码#2.除最高位,按位取反#3.位低位加1/************************************************************************* > File N原创 2014-11-15 21:44:26 · 645 阅读 · 0 评论 -
getchar与getch和getche的区别
#include#includevoid main(){ char c,ch; c = getche(); putchar(c); ch = getch();}getchar从I/O流中读字符,并且在在你按下回车键前就回显。getch从控制台读取一个字符,但不显示在屏幕上getche是从控制台去一个字符,回显在屏幕.要注意的是:三个函数的返回值都是int类型。原创 2014-03-19 21:10:02 · 1095 阅读 · 0 评论 -
特殊指针返回
一直以为函数返回一个指向数组的指针原创 2014-04-10 16:27:36 · 562 阅读 · 0 评论 -
寄存器操作
假设在一个32位的机器上,需要将某个外设寄存器的第X位(最低位为第0位,最高位为第31位)设置成0,将第Y位开始的连续三位设置成110(从高位到低位的顺序),而其它位保持不变。对给定的寄存器值R,及X,Y,编程计算更改后的寄存器值R。输入的数据仅一行,包括R,X,Y,以逗号","分隔,R为16进制表示的32位整数,X,Y在0-31之间且Y>=3,(Y-X)的绝对值>=3,保证两次置位不会重合更原创 2014-11-15 19:54:39 · 1163 阅读 · 0 评论 -
新标准下的sizeof运算符
关于sizeof运算符,像下面这种用法,你一定不陌生char *p;p = (char *)malloc (N * sizeof (char));这是只是最常见的一种用法,C99标准下的sizeof又有了新的用法,比如说下面这些:#include#includeint main(){ int c; char fun1(); int fun2(); char*原创 2014-03-23 21:21:33 · 726 阅读 · 5 评论 -
函数名和指针的关系
函数名和指针的关系函数名也是一种指针,因为函数名是函数的入口地址,所以函数的名字就可以被赋值一个对应的函数指针了,我们我可以通过函数指针来调用这个函数,和指针一样,在32位系统里面,函数名占4个字节,在16位系统里面占2个字节,在64位系统里面占8个字节。而指针本身不是地址,指针式用来保存地址的,指针的值就是地址,这是指针和函数名的不同点.#includeint main(){ in原创 2014-01-14 20:35:08 · 2297 阅读 · 0 评论 -
C语言写入文件
#include #include int main(){ int ch; FILE *fp; fp =fopen("c.txt","w"); while((ch=getchar()) !='!') { fputc(ch,fp); } fclose(fp); return 0;}原创 2014-05-31 18:35:51 · 1248 阅读 · 0 评论 -
C语言实现数据复制
#include #include int main(int argc, char *argv[]){ int ch; FILE *fp; FILE *fpCopy; fpCopy = fopen("b.txt","w"); long count = 0; /*if(argc !=2) { printf("Usage: %s filename\n",argv[0]);原创 2014-05-31 18:32:33 · 1036 阅读 · 0 评论