c编程语言
沈纵情
有理想的小孩
展开
-
c 语言入门指针
测试代码#include int a =112,b =-1;float c= 3.14;int *h = &a;float *e = &c;int x = 12;int *y = &x;int **z = &y;char ch = 'a';char *cp = &ch;main(){ int *w = malloc(sizeof(int)); mems原创 2012-06-26 16:29:45 · 462 阅读 · 0 评论 -
c 类型、运算
1、 float a = 14; int b = 8;2、 int a = 14; float b = 8;3、 int a = 14; int b = 8;进行如下运算 a/b = ?如果两个数中其中一个都不是float类型或double类型,则这个值肯定是取整的,而且还不遵守四舍五入的规,相应的四舍五入有其原创 2012-08-23 09:35:28 · 547 阅读 · 0 评论 -
c 常量 const
1、const定义的值是不可以改变的,类似于java的final#include "stdio.h" main(){ int const x = 15; x = 16; printf("%d\n",x);}输出:pateo@pateo-B86N53X:~/work/study$ cc main.c -o mainmain.c: In原创 2012-08-24 14:46:35 · 938 阅读 · 0 评论 -
c 函数 stdarg 宏
让我再找找资料再来写#include "stdio.h" #include int average(int n_values,...){ va_list var_arg; int count ; float sum = 0; va_start(var_arg,n_values); for (count =0 ;count<n_values;c原创 2012-08-24 17:05:25 · 802 阅读 · 0 评论 -
c 枚举 enum
测试完才发现我下面代码写的不规范,那个枚举里面的几种类型必须为全部大写字母1、非赋值的枚举类型#include "stdio.h" enum weekday { sun,mon,tue,wed,thu,fri,sat } a,b,c;main(){ a=sun; b=mon; c=tue; enum we原创 2012-08-24 14:27:09 · 1173 阅读 · 0 评论 -
c 联合 union
总结:联合里面不管你有多少个变量,最终给予分配的空间只有一个被最终赋值的那个变量值的空间#include "stdio.h" union{ int a; int b; int c; int d;}x = {5,6,7,8};main(){ printf("%d\n",x.a); printf("%d\n",x.b); prin原创 2012-08-24 17:33:46 · 1264 阅读 · 0 评论 -
c 内存动态分配 malloc free calloc realloc
1、简单的申请内存,申请一定要判断为NULL,因为可能申请不成功在空间不足情况下#include #include int main(){int *pi;pi = malloc(100); if(pi == NULL){ printf("out of memory"); exit(1);}else { printf("malloc size原创 2012-08-27 22:44:31 · 1104 阅读 · 0 评论 -
c FILE
1、验证OK,从设备上某个磁盘空间读文件,并打印出该文件内容到控制台#includeint main(){ FILE *fp; char ch; if((fp=fopen("/home/pateo/work/study/test.c","rt"))==NULL) { printf("Cannot open file strike any key exit!"); exi原创 2012-09-03 16:39:38 · 936 阅读 · 0 评论 -
c strtok函数用法
原型 char *strtok(char *s, char *delim); 功能 分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。 说明 首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。 strtok在s中查找包含在delim中的字符并用NULL('')来替换,直到找遍整个字符串。 char * p =原创 2013-02-04 10:02:05 · 557 阅读 · 0 评论 -
c getopt函数用法
#include #include int main(int argc, char * argv[]) { int aflag=0, bflag=0, cflag=0; int ch; while ((ch = getopt(argc, argv, "bp:r:")) != -1) printf("The argument of -b is %原创 2013-02-04 09:36:17 · 589 阅读 · 0 评论 -
socket通信socketpair
#include #include #include #include #include #include #include int main(int argc,char **argv){ int z; /* Status return code */ int s[2]; /* Pair of sockets */原创 2013-11-07 14:40:52 · 958 阅读 · 0 评论 -
linux中的信号处理(signal和alarm)
信号是unix中所使用的进程通信的一种最古老的方法.系统使用它来同志一个或多个进程异步事件的发生.linux系统库bits/signum.h对信号名作了定义:linux的大多数信号是提供给内核的,仅有少数几种信号可以在信号间发送..SIGHUP 当终止一个终端时,内核就把这种信号发送给该终端所控制的所有进程..SIGINT 当一个用户按下中断键(ctrl+c)后,内核就向该原创 2013-11-07 11:58:02 · 1584 阅读 · 2 评论 -
c 结构指针学习
#include #include #include struct student{ char *name; int score; struct student* next;}stu,*stu1; int main(){ stu.name = (char*)malloc(sizeof(char)); /*1.结构体成员指针需要初始化*/ strcpy(stu.n原创 2013-11-11 13:28:55 · 692 阅读 · 0 评论 -
c 指针与地址 指针与函数
一、指针与地址说明:1、地址运算符&只能应用于内存中的对象,即变量与数组元素;它不能作用于表达式、常量或register类型的变量2、一元运算符*是间接寻址或间接引用运算符,当作用于指针时,将访问指针所指向的对象3、指针只能志向某种特定类型的对象;一个例外是指向void类型可以存放指向任何类型的指针,但它不能间接引用其自身二、指针与函数c语言以传值的方式将参数值传递给被原创 2012-08-16 11:36:07 · 1104 阅读 · 2 评论 -
c 字符串、字符和字节 strlen、strcpy、strcat、strcmp、strchr、strstr
1、strlen 字符串长度#include #include main(){ char *message = "hello liaojianguo"; printf("leng=%d\n" , strlen(message));}输出:jianguo@jianguo:/work/study$ sudo cc main.c -o mainjiangu原创 2012-08-29 21:37:54 · 1177 阅读 · 0 评论 -
c 结构与成员属性结构 结构与函数 指向结构的指针
下面是我在表弟的例子上改的#include #include struct class{ int classId; int count;};struct birth{ int year; int month; int day;};struct student{ int num; char name[20]; int age; struct原创 2012-08-18 19:43:24 · 751 阅读 · 0 评论 -
c 语言宏的用法
下面是最简单的常量定义的形式,和函数形式,在宏中注意我们要小心空格和运算优先级最好有括号括起来#include #define MAX 10#define f(a,b) a+b-1int main(){ int i; for(i = 0 ;i <= MAX ;i++) { printf("i= %d\n",i); } pr原创 2012-08-07 11:15:35 · 653 阅读 · 0 评论 -
c编译
pateo@pateo-B86N53X:/usr/lib$ ls libesd.libesd.a libesd.la libesd.so libesd.so.0 libesd.so.0.2.39 pateo@pateo-B86N53X:/usr/lib$ ls libesd.pateo@pateo-B86N53原创 2012-07-27 15:10:35 · 726 阅读 · 0 评论 -
c 环境了解
pateo@pateo-B86N53X:/usr$ sudo apt-get install libDisplay all 13683 possibilities? (y or n)pateo@pateo-B86N53X:/usr$ sudo apt-get install libgstlibgst7 libgstfarsight0原创 2012-07-27 14:41:23 · 3685 阅读 · 0 评论 -
c语言中的static用法
一、作用域在函数里面定义变量用static修饰#include void getNum();main(){ getNum(); getNum();}void getNum(){ static num = 0; num = num + 1; printf("%d\n",num);}其输出为:12pateo@pateo-B8原创 2012-07-27 15:50:29 · 932 阅读 · 0 评论 -
c语言的控制流
我在这就不多说了,这部分和java一样,但是初学者会有一些不正确的认识看下面的实例public class Test { static int i = 0; public static void main(String[] args) { getNumber();}static void getNumber(){ switch(i){ case 0 :原创 2012-07-27 16:51:18 · 1061 阅读 · 0 评论 -
c语言中的extern用法
test.c#include int number = 1;int getNum(int num){ num = num + 1; return num;}int getNum2(int num){ number = number + num; return number;}main.c#include extern int getNum(i原创 2012-07-27 17:28:42 · 2216 阅读 · 0 评论 -
c语言两简单的函数------字符输入输出------【getchar、putchar(parm)】
说明:两函数支持从键盘输入#include int main(){ int c = getchar(); while(c != EOF){ putchar(c); c = getchar(); }}jianguo@jianguo:/work/study$ sudo cc 727.c -o 727jianguo@jianguo:原创 2012-07-27 23:49:41 · 908 阅读 · 0 评论 -
c 语言学习推荐书
我的表弟最近在学习c,我帮他买了几本c语言的书,我也顺便学习学习,也好查查我弟弟的学习情况,但是翻下来看,我感觉写的比较详细的是:C Primer Plus,但是我不推荐这本书,我看了书比较厚,写的比较罗嗦,不够我心目中的经典,感觉最求细节完全可以上网看帖子,下面是我个人比较下来的,认为比较好的两本入门书:原创 2012-08-16 17:32:22 · 1021 阅读 · 0 评论 -
c 指针与数组
说明:int a[10];int *pa;pa = &a[0];上面一句也可以这样写pa = a;原因:数组名所代表的就是该数组最开始的一个元素地址#include int strlen(char *s);int main(){ printf("string leng = %d\n",strlen("hello liaojianguo"));}i原创 2012-08-16 13:44:24 · 717 阅读 · 0 评论 -
c 语言入门最简单示例------类似HellWord
ubuntu环境下1、c61501.c文件内容#include int main(){ int i,sum=0; for(i=1;i<=100;i++){ sum+=i; } printf("1+2+3+……+100=%d\n",sum); return 0;} 2、编译gcc c61501.c -o sum3、效果原创 2012-06-15 10:29:18 · 1501 阅读 · 0 评论 -
c 指向函数的指针
自己写的几个测试例子,自测ok#include"stdio.h" typedef void PF(char a,int b);int main() { PF fun; fun('c',90);} void fun(char a,int b) { printf("the argument is %c and %d\n",a,b原创 2012-08-16 14:38:51 · 700 阅读 · 0 评论 -
c 结构体初始化
测试了下面的代码,特别是我注释掉的代码会报错,不允许那样赋值#include "stdio.h" struct point{ int x; int y;}m,n;int main() { m.x = 20;//m = {20,20}; n.x = 30;//n = {30,30}; struct point h ; h.x = 50;//原创 2012-08-16 18:13:37 · 711 阅读 · 0 评论 -
c 指向指针的指针
#include #include #include int main(){ char *name[]={"C","C++","PHP","ASP","ASP.NET","C#","JAVA","BASIC","PASCAL","COBOL"}; char * *p; p=name+2; printf("p=%d \n *p=%s \n **p=%c \n",p, *p,* *p原创 2013-11-12 13:57:28 · 823 阅读 · 0 评论