1.      C语言中,数组传递问题:a函数有形参数组进行运算,在主函数中调用a函数函数,只需要把主函数中需要进行a函数的数组操作的数组名传送过去就行。如:

void a(int a[i][j])为数组操作函数,主函数要对数组b[i][j]进行函数a中的操作,只需要在主函数写上a(b)就行。

2.      i++与++i的联系与区别:都可以使i加1,但是i++是先进行包含其相关的运算,再进行加一操作。++i则是先加一,在进行其相关运算。

3.      在c中进行阶层次等计算,结果很大时,需要事先用long long int来定义整数,并且输出格式为%lld。

4.      带参宏调用的一般形式为:宏名(实参列表);

例如:
#define M(y) y*y+3*y //宏定义
// Code
k=M(5); //宏调用
在宏调用时,用实参5去代替形参y,经预处理宏展开后的语句为k=5*5+3*5。

5.      定义float类型的,对应的输出格式为%f,而定义doublel类型的,对应的输出格式为%lf。注意:定义不同类型的数,其要用相应的输出格式来输出数,否则会出现输出错误的数。

6.      gets(a);//sacnf("%s",a)不可以获取空格。

7.      取地址符号:&,取内容符号:*。

8.      定义指针类型的变量,要存储值时,需要先用malloc动态开辟空间给指针。如:  

int *ptr = NULL;
 ptr = (int*)malloc(num*sizeof(int));//开辟动态空间

最后需要用free(ptr)来释放开辟的动态空间。

9.      连续需要输入字符且需要分行输入多个字符,记住换行符也会存储到字符串中,需要用getchar()来消除换行符对存储字符串的影响。

10.   动态开辟空间的指针可以当数组来用,若想要用开辟n个int类型的空间如:

int *a;

a=(int *)malloc(n*sizeof(int));

/*向开辟空间填充数值*/

for(int i=0;i<n;i++)

        a[i]=i;

11.   字符数组一开始定义没有赋值,但后面需要赋值时,需要用strcpy()函数来进行赋值。如:

    char c[100];

    strcpy(c,"sss");


 

0.0分

1 人评分

  评论区

  • «
  • »