随笔分类 - C 语言
摘要:demo1void main() { char c, ch; c=getch(); /*从键盘上读入一个字符不回显送给字符变量c*/ putchar(c);/*输出该字符*/ ch=getche(); /*从键盘上带回显的读入一个字符送给字符变量ch*/ putchar(ch); printf("\n\n"); }当输入的是字符:a 输出结构是:aaagetch 既可以返回整型, 也可以将返回值赋给chardemo2#include #includevoid main() { char...
阅读全文
摘要:#include #include /*//以前的写法 int *p = 5;这个是一种错误的写法,p首先是一个指针变量 int *p,a; p = &a; *p = 5;p是一个指针,指向一个内存地址,你不指明p指向的位置,程序怎么会知道你要给哪块内存赋值呢?你可以申请一块堆空间给p,或者直接定义一个变量,让p指向该变量*/int foo(){ int *p; p = (int *)malloc(sizeof(int)); *p = 5; return *p;}int main(){ int i = foo(); printf("%...
阅读全文
摘要:程序1:void myMalloc(char *s) //我想在函数中分配内存,再返回{ s=(char *) malloc(100);}void main(){ char *p=NULL; myMalloc(p); //这里的p实际还是NULL,p的值没有改变,为什么? if(p) free(p);}程序2:void myMalloc(char **s){ *s=(char *) malloc(100);}void main(){ char *p=NULL; myMalloc(&p); //这里的p可以得到正确的值了 if(p) free(p);}程序3:#includevo...
阅读全文
摘要:static在c里面可以用来修饰变量,也可以用来修饰函数。先看用来修饰变量的时候。变量在c里面可分为存在全局数据区、栈和堆里。其实我们平时所说的堆栈是栈而不是堆,不要弄混。int a ;int main(){int b ; int c* = (int *)malloc(sizeof(int));}a是全局变量,b是栈变量,c是堆变量。static对全局变量的修饰,可以认为是限制了只能是本文件引用此变量。有的程序是由好多.c文件构成。彼此可以互相引用变量,但加入static修饰之后,只能被本文件中函数引用此变量。static对栈变量的修饰,可以认为栈变量的生命周期延长到程序执行结束时。一般来说,
阅读全文

浙公网安备 33010602011771号