c语言知识点补充

发布时间:2023年12月22日

文件:

? 1.字符串:

??? ? ? 1.srrlen()字符串测长函数;

? ? ? ? 2.strcat()字符串连接函数;

? ? ? ? 3.strcmp()字符串比较函数;

? ? ? ? 4.strcpy()字符串拷贝函数;

2.strlen和sizeof的区别:

? ? ? ? 1.sizeof是一个操作符,而strlen是库函数;

? ? ? ? 2.sizeof的参数可以是数据类型也可以是变量,而strlen只能以‘\0’的字符串来结尾;

? ? ? ? 3.sizeof计算的是数据类型占内存的大小,而strlen计算的是字符串实际的长度;

3.define f(x) (x*x)和define f(x)??x*x的区别:

int a, b, c, d, e;
a = 1; b = 2; c = 6; d = 4;
e = f(a + b) * f(c + d);

#define f(x) (x*x) //替换结果为:e=(a+b*a+b)*(c+d*c+d)=5*34=170;
#define f(x) x*x   //替换结果为:e=a+b*a+b*c+d*c+d=1+2+12+24+4=43;
#define f(x) ((x)*(x))  //替换结果为:e=((a+b)*(a+b)*(c+d)*(c+d))=3*3*10*10=900;

其实就是硬带入,不用管数学方面的,把括号照着放入即可!?

4.int *p

p=(int *)malloc(4);

p=(int *)malloc(sizeof(int));?

以上两个等价;

malloc的返回类型为void *?

5.scanf不可以接受空格

? ?gets可以接受空格?

6.把s指针中的字符串复制到t指针中的方法

? ? ? ??

1.while ((*t = *s) != NULL) {
	s++;
	t++;
}

2.while (*t = *s) {
	s++;
	t++;
}

3.while (*t++ = *s++);

7.typedef是取别名,不会产生新的类型,它同时也是关键字

1.typedef int qq 那么int x可以写成 qq x;

2.typedef int *qq那么int *x可以写成 qq x;?

.

文章来源:https://blog.csdn.net/nanshenchao/article/details/135157459
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。