目录

指针初识

结构体


指针初识

学习指针知识,我们得首先了解内存方面的知识;

内存:

内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的 。
所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节(4个比特位)
为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地

每一个变量都有自己在内存中的地址,取出地址如下代码:

#include <stdio.h>
int main()
{int num = 10;&num;  //  取出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 = &num;*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语言,开启自己的程序猿生涯~  (亦或者是大一的计算机专业学生看了对付期末考试也完全没有问题,可以说是大一新手救急攻略。)

如果看了觉得对自己有所帮助的话,欢迎大家点赞收藏评论,顺便关注一下我噢~

以后我会经常为大家更新有帮助的博客~

谢谢各位读者啦!

初识C语言---(4)相关推荐

  1. 初识C语言---(2)

    字符串+转义字符+注释 "hello world.\n" 这种由双引号引起来的一串字符称为字符串字面值,或者简称字符串. 重点:字符串的结束标志是一个 \0 的转义字符.在计算字符 ...

  2. 《C Primer Plus(第6版)中文版》一第1章 初识C语言1.1 C语言的起源

    本节书摘来自异步社区<C Primer Plus(第6版)中文版>一书中的第1章,第1.1节,作者 傅道坤,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第1章 ...

  3. 第二百五十八节,Tornado框架-逻辑处理get()方法和post()方法,初识模板语言

    Tornado框架-逻辑处理get()方法和post()方法,初识模板语言 Tornado框架,逻辑处理里的get()方法,和post()方法 get()方法,处理get方式的请求 post()方法, ...

  4. C Prime Plus 第一章 初识C语言

    初识C语言 C的历史和特性 选择C语言的理由 C语言的应用范围 计算机能做什么 高级计算机语言和编译器 语言标准 第一个ANSI/ISO C 标准 C99标准 C11标准 使用C语言的7个步骤 编译机 ...

  5. C语言入门——初识C语言

    C语言入门--初识C语言 一. C语言的起源 二. 选择C语言的原因 (一). 设计特性 (二). 高效性 (三). 可移植性 (四). 强大而灵活 (五). 面向程序员 (六). 缺点 三. C语言 ...

  6. C语言学习笔记-P1 初识C语言(2)

    C语言学习笔记-P1 初识C语言(2) C语言学习笔记-P1 初识C语言(2) 一.常量 1.字面常量 2.const修饰的常变量 3.#define定义的标识符常量 3.枚举常量 二.字符串+转义字 ...

  7. C语言学习笔记-P1 初识C语言(1)

    C语言学习笔记-P1 初识C语言(1) P1 初识C语言(1) 一.什么是C语言 1.定义 2.发展 二.第一个C语言程序 Hello World 三.数据类型 四.变量,常量 未完待续!!! P1 ...

  8. 初识C语言--第二弹

    初识C语言(二) 前言

  9. 【C语言】初识C语言(下篇)

    如果这世界上真有奇迹,那只是努力的另一个名字. 大家好,这里是anduin.今天将给大家带来初识C语言的最后一部分,和之前一样点到为止,适当补充,今天的内容是#define 定义常量和宏.指针和结构体 ...

最新文章

  1. Net平台下的分布式缓存设计
  2. java注释日志打印_java 日志文件打印
  3. 双向链表删除节点时间复杂度_「十分钟学算法」删除链表的倒数第N个节点
  4. React 16 加载性能优化指南
  5. 解决css引用字体跨域问题
  6. windows系统bat批处 注册一个exe执行文件变成服务
  7. Scala的那些匿名函数
  8. 将php中stat()得到的文件权限转成Linux形式
  9. 亲测:优酷下载的会员独享KUX视频快速转换成MP4格式!
  10. API 接口压力测试
  11. 三轴加速度传感器LIS3DH使用心得
  12. Arch Linux 下安装 st (终端模拟器)
  13. jquery手写轮播图_用jquery实现图片轮播怎么写呢求指教
  14. CSP 201809 第二题 买菜
  15. mos管h桥电机驱动电路与设计原理图-KIA MOS管 (kiaic.com)
  16. go down to用法
  17. RabbitMq安装Web界面插件报错
  18. 数据库涉及大量数据查询时的注意事项
  19. 全球及中国酸性成纤维细胞生长因子行业投资前景与发展战略规划分析报告2022-2028年
  20. 整合公司 如何整合人员_需要持续整合

热门文章

  1. Scrapy_redis框架原理分析并实现断点续爬以及分布式爬虫
  2. Django博客系统(文章分类模型)
  3. 为什么电脑磁盘从C盘开始,之前的A盘和B盘呢?
  4. 奇偶个数_只愿与一人十指紧扣_新浪博客
  5. ESI世界大学排名:371所内地高校上榜!
  6. 同样都是调参,为什么人家的神经网络比我牛逼 100 倍?
  7. 精简易懂,30 分钟学会 SVD 矩阵分解,很强!
  8. 布局AR VR领域?Tessera 8.5亿美元收购音频公司DTS
  9. kvm安装及虚拟机创建
  10. JAVA泛型的基本使用