首页 > 编程语言 >C语言程序设计入门教程4

C语言程序设计入门教程4

时间:2023-11-14 22:33:26浏览次数:49  
标签:int 32 eg 入门教程 C语言 地址 MAX 程序设计 指针

1define#定义常量和宏

(1)#define定义的标识符常量(eg:MAX=100)

C语言程序设计入门教程4_#define

(2)define定义宏--宏:带参数

eg:比较俩数大小

用函数方式表示

int Max(int x, int y)//定义函数方式
{
    if(x>y)
	    return x;
	else
		return y;
}

用宏表示//定义MAX(x,y)=(x>y?x:y)

#define MAX(x,y) (x>y?x:y)//定义MAX(x,y)=(x>y?x:y)

C语言程序设计入门教程4_内存空间_02

2地址,指针

指针:从大空间-->具体小空间(603房间)

(1)地址

如何产生地址(房间号)

eg:32位 32根地址线/数据线

正电和负电

1         0

00000000

00000000

00000000

00000000

00000000

00000001

...



1111111

11111111

11111111

用二进制表示32位一共有2^32次方个空间

若每个空间设置为bit--->总内存空间为0.5G(太小)

每个空间设置为byte--->总内存空间为4G(合适)

内存基本单位是byte字节,bit是最小的单位

C语言程序设计入门教程4_C语言程序设计教程笔记_03

打印出来的地址是十六进制的

(2)指针变量*p(用来存放地址的)

  • int(整型)指针类型(指针类型是int*,指针名字是p)
int* p = &a

C语言程序设计入门教程4_内存空间_04

  • char(字符)指针类型

C语言程序设计入门教程4_#define_05

3指针大小

无论什么类型(int/double/float...)同一平台指针大小相同

32位:一个指针大小是32个比特位=4byte

C语言程序设计入门教程4_#define_06

64位:一个指针大小是64个比特位=8byte

C语言程序设计入门教程4_C语言程序设计教程笔记_07

4结构体:自己创建的复杂对象

关键字struct

struct Book
{
	char name[20];
	short price;
};
//;表示创建结构体结束

eg:

人:名字+性别+年龄+体重...

C语言程序设计入门教程4_#define_08

5操作符.和->(查找)

(*abp).name// . 结构体变量.成员
abp->name// -> 结构体指针->成员

C语言程序设计入门教程4_十六进制_09

6改变结构体名字

C语言程序设计入门教程4_内存空间_10

标签:int,32,eg,入门教程,C语言,地址,MAX,程序设计,指针
From: https://blog.51cto.com/u_16352455/8379607

相关文章

  • 前端学习-JavaScript学习-JavaScript高级程序设计-第2章笔记
    在HTML中使用JavaScript元素<script>元素元素属性MDN<script>:脚本元素属性使用状态描述charset可选、少用字符集defer可选、少用表示脚本可以延迟至文档完全被解析后实行,部分浏览器不支持language废弃编写代码使用的语言src可选包含要执行代码的......
  • 学习C语言的一天(2):简易扫雷的实现
    思路:建立三个文件,头文件用于声明函数和保存程序的声明,源文件(1)用于函数的具体实现,源文件(2)用于主函数的实现建立扫雷菜单。建立2个二维数组,一个用于布置雷(下文称雷二),一个用于打印棋盘(下文称棋盘二);最终效果如下:(实际效果中保留上面的棋盘,而下面的布置雷的效果不需要打印,这里打印是......
  • C语言0长度数组
    一、零长度数组概念众所周知,GNU/GCC在标准的C/C++基础上做了有实用性的扩展,零长度数组(ArraysofLengthZero)就是其中一个知名的扩展.多数情况下,其应用在变长数组中,其定义如下structPacket{intstate;intlen;charcData[0];//这里的0长结构体就......
  • rust程序设计(3)结构体相关概念和疑问
    结构体//如何定义结构体structUser{active:bool,username:String,email:String,sign_in_count:u64,}//如何使用结构体letuser=User{ active:true,username:String::from("someusername123"),email:String::from("someone@exampl......
  • C语言程序设计教程3
    1强制类型转换当类型不同时可能导致数据丢失所以需要强制类型转换所以需要强制类型转换,()中间放需要转变的类型2关系操作符>,<,=;>=(大于等于);<=(小于等于);!=(相当于数学里面的“不等于”用于测试不相等);==(用于测试相等),一个=叫做赋值操作符3逻辑操作符&&(逻辑与,”并且“,全真则真,有一......
  • 实验4 C语言数组应用编程
    一、实验目的能正确使用c语法规则定义、初始化、访问、输入/输出一维/二维数值型数组能正确使用c语法规则定义、初始化、访问、输入/输出一维/二维字符数组能正确使用数组作为函数参数能熟练使用常用的字符串处理函数针对具体问题场景,能灵活用数组组织数据,应用、设计算法编......
  • C语言——共用体union存储结构与大小端存储模式
    1、大小端存储模式大端:低位数据字节存储在高地址小端:低位数据字节存储在低地址注释:例如int的权重低的8bit,低位指的是00000001000000000000000000000000000000012、共用体union存储结构共用体内每段数据元素从低地址开始存储。注释:数组的每个元素的地址随着索引的增大......
  • 博客园新手入门教程
    博客园新手入门教程 一、注册博客园博客园官方网址:博客园-开发者的网上家园(cnblogs.com)二、申请开通博客提交成功后可编写文章发布博客三、注册完成后点击我的博客1.注册成功页面然后发布随笔位置 2、博客分类设置: 效果图如下: 四、点击随笔编写文章五......
  • C语言感恩程序代码
    以下是一个基于C语言的简单感恩程序代码,通过打印特定的字符画和文字,表达对生活中各种值得感恩的事物的感激之情:#include<stdio.h>intmain(){printf("\n");printf("\n");printf("________________.\n");printf("......
  • 实验1:UML与面向对象程序设计原则
    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、掌握面向对象程序设计中类与类之间的关系以及对应的UML类图;2、理解面向对象程序设计原则。[实验任务一]:UML复习阅读教材第一章复习UML,回答下述问题:Q:面向对象程序设计中类与类的关系都有哪几种?分别用类图实例说明。A......