十六进制,十进制,八进制{
[code]
#include <stdio.h>
int main(){
[code]
#include <stdio.h>
int main(){
int a = 0x10;
int b = 010;
int c = 10;
printf("%x %o %d\n", a, b, c);
printf("%d %d %d\n", a, b, c);
return 0;
int b = 010;
int c = 10;
printf("%x %o %d\n", a, b, c);
printf("%d %d %d\n", a, b, c);
return 0;
}
[result]
10 10 10
16 8 10
}
[result]
10 10 10
16 8 10
}
字符串{
strcpy(s1, s2);
复制字符串 s2 到字符串 s1。
strcat(s1, s2);
连接字符串 s2 到字符串 s1 的末尾。
strlen(s1);
返回字符串 s1 的长度。
strcmp(s1, s2);
如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回小于 0;如果 s1>s2 则返回大于 0。
strchr(s1, ch);
返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
strstr(s1, s2);
返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。
}
strcpy(s1, s2);
复制字符串 s2 到字符串 s1。
strcat(s1, s2);
连接字符串 s2 到字符串 s1 的末尾。
strlen(s1);
返回字符串 s1 的长度。
strcmp(s1, s2);
如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回小于 0;如果 s1>s2 则返回大于 0。
strchr(s1, ch);
返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
strstr(s1, s2);
返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。
}
位域&结构体对齐{
struct a{
int a:1;
int b:10;
int :18;
int c:2;
};
无名位域
}
无名位域
}
文件操作{
常用函数
FILE *fopen( const char * filename, const char * mode);
int fclose( FILE *fp);
int fputc( int c, FILE *fp);
int fputs( const char *s, FILE *fp);
int fgetc( FILE * fp);
char *fgets( char *buf, int n, FILE *fp);
int fscanf(FILE *fp, const char *format, ...);
int fprintf(FILE *fp, const char *format, ...);
size_t fread(void *ptr, size_t size_of_elements,
size_t number_of_elements, FILE *a_file);
size_t fwrite(const void *ptr, size_t size_of_elements,
size_t number_of_elements, FILE *a_file);
}
FILE *fopen( const char * filename, const char * mode);
int fclose( FILE *fp);
int fputc( int c, FILE *fp);
int fputs( const char *s, FILE *fp);
int fgetc( FILE * fp);
char *fgets( char *buf, int n, FILE *fp);
int fscanf(FILE *fp, const char *format, ...);
int fprintf(FILE *fp, const char *format, ...);
size_t fread(void *ptr, size_t size_of_elements,
size_t number_of_elements, FILE *a_file);
size_t fwrite(const void *ptr, size_t size_of_elements,
size_t number_of_elements, FILE *a_file);
}
预处理{
预定义宏{
__DATE__ 当前日期,一个以 "MMM DD YYYY" 格式表示的字符常量。
__TIME__ 当前时间,一个以 "HH:MM:SS" 格式表示的字符常量。
__FILE__ 这会包含当前文件名,一个字符串常量。
__LINE__ 这会包含当前行号,一个十进制常量。
__STDC__ 当编译器以 ANSI 标准编译时,则定义为 1。
预定义宏{
__DATE__ 当前日期,一个以 "MMM DD YYYY" 格式表示的字符常量。
__TIME__ 当前时间,一个以 "HH:MM:SS" 格式表示的字符常量。
__FILE__ 这会包含当前文件名,一个字符串常量。
__LINE__ 这会包含当前行号,一个十进制常量。
__STDC__ 当编译器以 ANSI 标准编译时,则定义为 1。
}
}
}
错误{
errno
char* strerror(int _errno);
perror(char* tip);
}
errno
char* strerror(int _errno);
perror(char* tip);
}
可变参数{
[code]
double average(int num,...)
{
va_list valist;
/* 为 num 个参数初始化 valist */
va_start(valist, num);
/* 访问所有赋给 valist 的参数 */
for (i = 0; i < num; i++)
sum += va_arg(valist, int);
/* 清理为 valist 保留的内存 */
va_end(valist);
}
}
[code]
double average(int num,...)
{
va_list valist;
/* 为 num 个参数初始化 valist */
va_start(valist, num);
/* 访问所有赋给 valist 的参数 */
for (i = 0; i < num; i++)
sum += va_arg(valist, int);
/* 清理为 valist 保留的内存 */
va_end(valist);
}
}
内存管理{
void *calloc(int num, int size);
该函数分配一个带有 function allocates an array of num 个元素的数组,每个元素的大小为 size 字节。
void free(void *address);
该函数释放 address 所指向的h内存块。
void *malloc(int num);
该函数分配一个 num 字节的数组,并把它们进行初始化。
void *realloc(void *address, int newsize);
该函数重新分配内存,把内存扩展到 newsize。
}
void *calloc(int num, int size);
该函数分配一个带有 function allocates an array of num 个元素的数组,每个元素的大小为 size 字节。
void free(void *address);
该函数释放 address 所指向的h内存块。
void *malloc(int num);
该函数分配一个 num 字节的数组,并把它们进行初始化。
void *realloc(void *address, int newsize);
该函数重新分配内存,把内存扩展到 newsize。
}