一、作业:static修饰局部变量
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
//作业:static修饰局部变量
int sum (int a)
{
int c = 0;
static int b = 3;
c += 1;
b += 2;
return (a + b + c);
}
int main ()
{
int i = 0;
int a = 2;
for (i = 0; i < 5; i++)
{
printf ("%d\n", sum(a));
}
return 0;
}
二、结构体 struct
结构体:自己创建的一种描述复杂对象的一种类型 (相当于变量的数据类型)
strcpy:字符串拷贝,字符串数组内容修改。 #include <string.h>
例:strcpy(a, "b"); //把b字符串数组的内容拷贝给a
(结构体变量).成员 (*结构体变量的指针变量).成员
结构体变量的指针变量 -> 成员
内容指向:内容.成员
地址指向:指针->成员
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
//结构体
struct Book //创建了一个结构体类型,相当于“图纸”,不占“土地”,不占内存空间。
{
char name [20];
short price;
};
int main ()
{
struct Book b1 = {"高数", 88}; //利用该结构体类型创建了一个该类型的结构体变量,相当于“房子”,占“土地”,占内存空间。
struct Book* p = &b1; //定义该结构体变量的指针变量
printf("书名:%s\n", b1 . name);
printf("价格:%d元\n", b1 . price);
//修改结构体内容
b1.price = 100;
strcpy(b1.name, "C++");
printf("修改后的书名为:%s\n", b1 . name);
printf("修改后的价格为:%d元\n", b1 . price);
printf("内容指向:\n");
printf("书名:%s\n", (*p) . name);
printf("价格:%d元\n", (*p) . price);
printf("地址指向:\n");
printf("书名:%s\n", p -> name);
printf("价格:%d元\n", p -> price);
return 0;
}