①常量
C语言中的变量可以分为以下几种:
-
字面常量
例如:3...
-
const修饰的常变量
const int n = 10;
int array[n];
n是变量,但是又有常属性,所以我们说n是常变量,其不可用于数组初始化大小。
- #define定义的标识符常量
#define MAX 10
int arr[MAX];
此种数组初始化可行
- 枚举常量
#include <stdio.h> enum Sex { MALE, FEMALE, SECRET }; //MALE,FEMALE,SECRET --枚举常量 int main() { enum Sex s = MALE; //s的值等于MALE为0(第一个枚举常量的值默认为0) return 0; }
②字符数组与字符串
char arr1[] = "abc";
char arr2[] = { 'a', 'b', 'c'};
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%d\n", strlen(arr1));
printf("%d\n", strlen(arr2));
printf("%d\n", sizeof(arr1));
printf("%d\n", sizeof(arr2));
由输出结果可知字符串会自动加上结束标志‘\0’,而字符数组不会,需要手动添加。
③转义字符
斜杆\+字符 意思是改变其原意思,故称转义。
例:\ddd ddd表示1~3个八进制的数字,如: \130
printf("%c\n", '\130'); 结果为X。
\xdd dd表示2个十六进制数字, 如:\x61
printf("%c\n", '\x61'); 结果为a。
printf("%d\n", strlen("c:\test\32\test.c")); //算起来有17个字符,但是\t, \32是转义字符,故结果是13
\32是2个8进制数字, 32作为8进制代表的那个十进制数字,作为ASCII码值对应的字符。
例:8进制数32转为十进制为26,对应的ASCII码值代表字符是->。