【C/C++】--- 基础C语言的知识复习
一段时间不写代码,真的会手生,一些简单的知识点都快忘了。单开个帖子 ,记录下自己曾经以往的C知识,以便以后复习。
1. 如何使用宏定义定义一个数组?
根据查阅的资料,目前貌似单纯使用宏不可以定义一个数组。
2. 字符串数组的长度计算
假如定义了一个二维的字符串数组,必须指定每个维度的字符串最大数值多少。其次计算该二维数组中有多少个数组的话,此处必须用二维数组的形式表示,不可以用指针数组的形式表示。
1 char PRODUCTNAME1[][10] = {"SEC5630","SE5678","sdfsdfdfs"}; 2 printf("pro name = %d\n",sizeof(PRODUCTNAME1)/sizeof(PRODUCTNAME1[2])); 3 4 char *PRODUCTNAME1[10] = {"SEC5630","SE5678","sdfsdfdfs"}; //指针数组,不可以用上面的计算方式得到该二维数组中有多少个字符串
3. 关于变量的定义,如果定义了某个变量并且在定义时赋值的话,该变量要在.c文件中,不应在.h文件中
4. 定义一个字符串数组,sizeof和strlen的区别
1 char tmpstr[] = {"12345"}; 2 3 printf("PRODUCTNAME = %d\n",sizeof(tmpstr)); 4 printf("pro name = %d\n",strlen(tmpstr));
如上输出结果为: 6 // 5
因此可得,sizeof计算字符串长度时,包括最后的‘\0’
strlen函数计算字符串长度时,不包括最后结尾的‘\0’