摘要:优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右()圆括号(表达式)/函数名(形参表).成员选择(对象)对象.成员名->成员选择(指针)对象指针->成员名2-负号运算符-表达式右到左单目运算符(类型)强制类型转换(数据类型)表达式++自增运算符++变量名/变量名++单目运算符--自减运算符--变量名/变量名--单目运算符*取值运算符*指针变量单目运算符&取地址运算符&变量名单目运算符!逻辑非运算符!表达式单目运算符~按位取反运算符~表达式单目运算符sizeof长度运算符sizeof(表达式)3/除表达式/表达式左到右双目运算符*乘表
阅读全文
随笔分类 - C
摘要:#progma是一个C语言中的预处理指令,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为: #pragma Para 其中Para 为参数,下面来看一些常用的参数。(1)message 参数。 Message 参数是我最喜欢的一个参数,它能够在编译信息输出窗口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为:#Pragma message(“消息文本”)当编译器遇到这条指令时就在编译输出窗口中将消息文本打印出来。当我们在程序中定义了许多宏来控制源代码版本的时候,我们自己有可能都.
阅读全文
摘要:我们在写程序的时候,总是或多或少会加入一些printf之类的语句用于输出调试信息,但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除,而一旦需要再次调试的时候,这些语句又不得不一条条的加上,这给我们带来了很大的不便,浪费了我们很多的时间,也造成了调试的效率低下。所以,很多人会选择使用宏定义的方式来输出调试语句。比如,定义一个宏开关:#define __DEBUG当需要调试的时候,使用语句:#ifdef __DEBUGprintf(xxx);#endif这种方式的调试,可以通过undef __DEBUG的方式让告知编译器不编译这些语句,从而不再输出这些.
阅读全文
摘要:int**malloc2d(intr,intc){inti;int**t=malloc(r*sizeof(int*));for(i=0;i<r;i++)t[i]=malloc(c*sizeof(int));returnt;}int**a=malloc2d(M,N)ps:矩阵相乘for(i=0;i<N;i++)for(j=0;j<N;j++)for(k=0,c[i][j]=0.0;k<N;k++) c[i][j]+=a[i][k]*b[k][j];
阅读全文
摘要:#include<stdio.h>#include<stdlib.h>typedefstructnode*link;structnode{intitem;linknext;};intmain(){inti,N,M;scanf("%d%d",&N,&M);linkt=malloc(sizeof*t),x=t;t->item=1;t->next=t;for(i=2;i<=N;i++){x=(x->next=malloc(sizeof*x));x->item=i;x->next=t;}while(x!=x
阅读全文
摘要:若i为素数,则设置a[i]为1;反之则设置为0.首先,将所有数组的元素设置为1,表示没有已知的非素数。然后将已知为非素数(即为已知素数的倍数)的索引对应的数组元素设置为0。如果将所有较小的素数的倍数都设置为0之后,a[i]仍然保持为1,则可判断它是所找的素数。#include<stdio.h>#defineN10000intmain(){inti,j,a[N];for(i=2;i<N;i++)a[i]=1;for(i=2;i<N;i++)if(a[i])for(j=i;j<N/i;j++)a[i*j]=0;for(i=2;i<N;i++)if(a[i])pr
阅读全文
摘要:方法一:形参给出第二维的长度。例如:#include<stdio.h>#include<math.h>#include<ctype.h>#include<string.h>#include<stdlib.h>voidfunc(intn,charstr[][5]){inti;for(i=0;i<n;i++)printf("\nstr[%d]=%s\n",i,str[i]);}intmain(){char*p[3];charstr[][5]={"abc","def",&qu
阅读全文
摘要:原理: 在C语言中数组下标访问可以看成指针的偏移访问1、对表进行检查,看看它是否真的已满2、如果表确实已满,使用realloc()函数扩展表的长度,并进行检查,确保realloc()操作成功进行。3、在表中增加所需要的项目code:intcurrent_element=0;inttotal_element=128;char*dynamic=malloc(total_element);char*ptr;voidadd_element(charc){if(current_element==total_element-1){total_element*=2;ptr=(char*)realloc(dy
阅读全文
摘要:#include<time.h>clock_tstart,end;doubleduration;start=clock();//dosomethingend=clock();duration=(double)(end-start)/CLOCKS_PER_SEC;//秒
阅读全文

浙公网安备 33010602011771号