指针
8G --内存(把内存划分为一个个小的内存单元)
500G--硬盘的大小
在32位的机器上
#include <stdio.h>
int main() {
int a = 10;//向内存申请了四个字节的空间
int* p = &a; //p是一个指针变量,用来存放地址,说明p的类型是 int*
printf("%p\n", &a);
printf("%p\n", p);
*p = 20; //在p前加*号--解引用操作符(间接访问操作符),就是希望通过p来找到a
printf("%d\n", a);
return 0;
}
结构体
//结构体
//char 、 int 、short
//人或书是一个复杂对象
//名字+年龄+身高+身份证号码
//C语言用结构体去描述复杂对象,结构体是自己创造出来的一种类型
struct Book
{
char name[20];//C语言程序设计
short price; //55
}; // ; 用来结束这个类型定义
int main() {
//利用结构体类型,创建一个该类型的结构体变量
struct Book b1 = { "C语言程序设计",55 }; //创建一个结构体类型
printf("书名:%s\n", b1.name);
printf("价格:%d\n", b1.price);
b1.price = 15;
printf("修改后的价格:%d\n", b1.price);
return 0;
}
printf("书名:%s\n", (*pb).name);
printf("书名:%s\n", pb->name);
printf("价格:%d\n", pb->price);
// . 结构体变量.成员
// -> 结构体指针->成员
struct Book b1 = { "C语言程序设计",55 }; //创建一个结构体类型
struct Book* pb = &b1;//对于结构体,去定义其指针类型
//b1.name = "c++"; //error,name不是变量,是一个数组,数组名本质上是一个地址
//strcpy string copy 字符串拷贝--库函数
strcpy(b1.name, "C++");//改名字
b1.price = 12; //变量可以之间改
printf("书名:%s\n", pb->name);