一个C程序就是由若干头文件和函数组成,有且只有一个主函数,即main函数。
#include
int main(){
printf("c语言主函数");
return 0;
}
C程序就是执行主函数里的代码,C语言中的唯一入口。
main前面的int就是主函数的类型.
printf()是格式输出函数,这里就记住它的功能就是在屏幕上输出指定的信息
return是函数的返回值,根据函数类型的不同,返回的值也是不同的。
\n是转义字符中的换行符。(注意:C程序一定是从主函数开始执行的)
C语言 strcpy() 函数用于对字符串进行复制(拷贝)。
头文件:string.h
语法/原型:
char* strcpy(char* strDestination, const char* strSource);
参数说明:
strDestination:目的字符串。
strSource:源字符串。
strcpy() 会把 strSource 指向的字符串复制到 strDestination。
必须保证 strDestination 足够大,能够容纳下 strSource,否则会导致溢出错误。
返回值:目的字符串,也即 strDestination。
#include
#include
struct Books
{
char title[50];
char author[50];
char subject[100];
int book_id;
};
int main( )
{
struct Books Book1; /* 声明 Book1,类型为 Books */
struct Books Book2; /* 声明 Book2,类型为 Books */
/* Book1 详述 */
strcpy( Book1.title, "C Programming");
strcpy( Book1.author, "Nuha Ali");
strcpy( Book1.subject, "C Programming Tutorial");
Book1.book_id = 6495407;
}
malloc 向内存申请一块空间, 大小为 _Size, 并返回一个指向该空间的地址. 指针类型和内存大小由程序员自行定义.
#include
#include
typedef struct LinkNode
{
int data;
struct LinkNode *next;
} LinkNode;
int main(void)
{
LinkNode *List = (LinkNode *)malloc(sizeof(LinkNode));
List->data = 1;
List->next = (LinkNode *)malloc(sizeof(LinkNode));
return 0;
}
free()函数用于释放内存, 只需向函数传递已经通过 malloc 分配空间的指针即可.
用来返回字符串长度的. 函数参数是 指向字符数组的指针
#include
#include
int main(void)
{
char ch[40];
fgets(ch, 40, stdin); /*输入Hello, World!*/
printf("%d\n", strlen(ch));
return 0;
}
用于拼接字符串, 即将原字符串插入目标字符串的后面. 函数参数从左到右依次是 : 指向目标字符数组的指针, 指向原字符数组的指针. 返回类型是一个 char 指针*.
#include
#include
int main(void)
{
char ch[40];
char CH[40];
scanf("%s", ch); /*输入Hello, */
scanf("%s", CH); /*输入World!*/
strcat(ch, CH);
printf("%s", ch);
return 0;
}
比较字符串的长短或者查看两个字符串是否相等. 其原理是将字符串的字符一一比较 ascii 值大小得到的
#include
#include
int main(void)
{
char A[40] = "Hello, World!";
char B[40] = "hello, world!";
char C[40] = "Hello, World";
printf("%d\n", strcmp(A, B));
printf("%d\n", strcmp(A, C));
printf("%d\n", strcmp(A, A));
return 0;
}
在ANSI C的任何一种实现中,存在两个不同的环境。
翻译环境,在这个环境中源代码被转换为可执行的机器指令。
执行环境,它用于实际执行代码。
__FILE__ //进行编译的源文件文件路径()
__LINE__ //文件当前的行号
__DATE__ //文件被编译的日期
__TIME__ //文件被编译的时间
__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义