目录
指针初识
学习指针知识,我们得首先了解内存方面的知识;
内存:
内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的 。
所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是
1
个字节(4个比特位)
。
为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该
内存单元的地
址
。
![](https://img-blog.csdnimg.cn/20210719222252986.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hxczE5NjMwMQ==,size_16,color_FFFFFF,t_70)
每一个变量都有自己在内存中的地址,取出地址如下代码:
#include <stdio.h>
int main()
{
int num = 10;
# // 取出num的地址
//注:这里num的4个字节,每个字节都有地址,取出的是第一个字节的地址(较小的地址)
printf("%p\n", &num); //打印地址,%p是以地址的形式打印
return 0; }
地址如何存储,需要定义指针变量:
int num = 10 ;int* p ; //p 为一个整形指针变量p = & num ;
代码实现:
#include <stdio.h>
int main()
{
int num = 10;
int *p = #
*p = 20;
return 0; }
以整形指针举例,可以推广到其他类型,如:
#include <stdio.h>
int main()
{
char ch = 'w';
char* pc = &ch;
*pc = 'q';
printf("%c\n", ch);
return 0; }
这里将字符ch由原来的‘w’改为了‘q’。
指针变量的大小
#include <stdio.h>
int main()
{
printf("%d\n", sizeof(char *));
printf("%d\n", sizeof(short *));
printf("%d\n", sizeof(int *));
printf("%d\n", sizeof(double *));
return 0; }
结论
:指针大小在
32
位平台是
4
个字节,
64
位平台是
8
个字节。
结构体
结构体是
C
语言中特别重要的知识点,结构体使得
C
语言有能力描述复杂类型。
比如描述一本书,书本包含:
名字
+价格+类别+书号
这几项信息。
这里只能使用结构体来描述了。
举列:
struct Book
{
char name[20];//名字
int price; //价格
char a[5]; //类别
char id[15]; //书号
};
结构体的初始化:
//打印结构体信息
struct Stu s = {"张三", 20, "男", "20180101"};
//.为结构成员访问操作符
printf("name = %s age = %d sex = %s id = %s\n", s.name, s.age, s.sex, s.id);
//->操作符
struct Stu *ps = &s;
printf("name = %s age = %d sex = %s id = %s\n", ps->name, ps->age, ps->sex, ps- >id);
自此,初识C语言部分完结。这4篇简短博客对C语言大致包含的所有知识做出了简洁介绍,即使是小白看了也能入门C语言,开启自己的程序猿生涯~ (亦或者是大一的计算机专业学生看了对付期末考试也完全没有问题,可以说是大一新手救急攻略。)
如果看了觉得对自己有所帮助的话,欢迎大家点赞收藏评论,顺便关注一下我噢~
以后我会经常为大家更新有帮助的博客~
谢谢各位读者啦!