1、数组长度及所占字节数
char x[] = {"Hello"},y[]={'H','e','l','l','o'};
x数组的长度为5,y的长度也是5
x、y数组所占字符串为6为 5+1(\0)=6
strlen()函数得到的是数组的长度
2、%%与%的优先级
#include<stdio.h>
int main(){
int a=5,b=6;
printf("a = %%d,b = %%d\n",a,b);
return 0;
}
%%的优先级高于%,所以上诉代码输出结果是a=%d,b=%d
3、字符串类型与字符类型
“ ”——双引号中的内容为字符串类型
‘ ’——单引号中的内容为字符类型
4、宏
宏定义仅做字符替换,不进行运算操作
#define MAX N*N
int a=5,b=6;
int sum = MAX(5+6); //运算结果为 5+6*5+6
5、对基本类型相同的指针变量不能进行+运算,两个指针相加不一定能得到有效的地址值,所以两个指针相加是无意义的
6、所有递归算法都可以由非递归算法实现
7、字符串赋值问题
字符串变量不能简单使用“=”进行赋值,需要使用strcpy进行赋值
strcmp函数
strcmp(str1,str2) //str1>str2,返回1,str1<str2,返回-1,str1==str2,返回0
8、 结构体类型空间 及 共用体类型空间
结构体类型所占用空间为所有成员类型空间之和
共用体类型所占用空间为所有成员类型中最大的一个,共用体类型一个瞬时是一种类型(所包含的)
9、函数内不能嵌套定义函数
10、各数据类型所占用空间大小
int —— 4个字节
float —— 4个字节
double —— 8个字节
char —— 1个字节