目录
13.指针(首先要理解内存)
13.1内存
内存---是计算机上的一种存储空间
8G/16G
程序运行的时候会载入内存
程序中如果有数据需要存储也会申请内存空间
如何有效的使用内存呢?
补充:
1、计算机的单位:
bit-比特位-一个比特位存放一个二进制
byte-字节-8bit
kb-1024byte
mb-1024kb
gb-1024mb
tb-1024gb
tb-1024tb
pb-1024tb
个字节=4,294,967,296byte=4GB
2、进制,只是数值的表示形式
(1)进制转换
基数:把X进制所使用的数字符号个数称为该进制的基数(几进制,基数就是几)
位权:基数的方幂称为“位权”(简称“权”)
运算规则:采用“逢N进一”的原则
补充:位权以基数为底,指数是小数点左侧为0,1,......,小数点右侧为-1,-2,......,
1)非十转 十:按权展开
2)十转非十:
整数部分-取余倒排序法,
小数部分-乘以基数取整(正读) (了解)
(3)非十进制间相互转换
二转八---三位并一位
二转十六---四位并一位
因为15已是十六进制最大的数了
1、变量是创建内存中的(在内存中分配空间的),每个内存单元都有地址,所以变量也是有地址的
地址:二进制表示太复杂转成十六进制
2、&a只能取出一个地址,&a取出的是a所占内存空间的四个字节中第一个字节的地址
3.指针变量
(1)那地址如何存储,需要定义指针变量。
(2)指针的使用实例:(就是相当于通过地址找到人,把东西送给这个人)
13.2 指针变量的大小
1.一个指针变量的大小是多少呢?
指针变量是存放地址的!
地址:
(1)32位机器上,是32个bit
32位的机器上,指针变量存放的是32bit的地址
32位机器上,指针变量的大小是4个字节
(2)64位机器上,是64个bit
64位的机器上,指针变量存放的是64bit的地址
64位机器上,指针变量存放的大小是8个字节
(3)X86是32位环境,X64是64位环境
总结:指针大小在32位平台是4个字节,64位平台是8个字节。
14、结构体
人:姓名,性别,年龄
书:书名,作者,出版社,定价
//struct-结构体
//学生:名字-性别-年龄
//定义一个学生类型
#include<stdio.h>
struct stu
{
char name[20];
char sex[5];
int age;
};
int main()
{
struct stu s = { "张三","男",20 };
//结构体名字.成员名
printf("%s\n", s.name);
printf("%d\n", s.age);
return 0;
}
//.为结构体成员访问操作符
//struct-结构体
//学生:名字-性别-年龄
//定义一个学生类型
#include<stdio.h>
struct stu
{
char name[20];
char sex[5];
int age;
};
void print(struct stu* ps)
{
//printf("%s %s %d\n", (*ps).name, (*ps).sex, (*ps).age);
//第二种写法,等同上
//->操作符
//结构体的指针->成员名
printf("%s %s %d\n", ps->name, ps->sex, ps->age);
}
int main()
{
struct stu s = { "张三","男",20 };
print(&s);//调用函数
return 0;
}
初识C语言就到这,我们只是大概了解,接下来开始正式深入了解。