C语言基础知识

 我来答
大沈他次苹0B
2022-06-29 · TA获得超过7331个赞
知道大有可为答主
回答量:3059
采纳率:100%
帮助的人:178万
展开全部

sizeof获取数据类型的占用内存空间大小

按照我以为的思维 结果应该是result为0,num为10
但是现在结果是 result 0 num 是11

首先使用随机数 需要导入随机数的头部文件
<stdlib.h> 如果以时间为随机种子需要导入<time.h>

rand的取值范围是0 - 32767之间

例子如果去随机数5-15之间
那么 rand() % 11 + 5
取 a -b 之间
随机数公式 rand() % (b-a+1)+a

延迟的意思
Sleep(5) 延迟5毫秒必须要加入头文件<windows.h>

思考
那如果是{"测试","测试1","测试2","测试3","测试4"};这种的字符数组怎么定义?

如果改变 *指针变量名的值 原来的变量值也会改变
---------- 拓展 -------------
指针的值一般是 十六进制
%x 输出结果十六进制小写字母且去头部0详情看例子
注意指针变量赋值一定要用取地址符,不能直接赋值为十六进制的但是可以赋值为NULL
int * test = NULL;

简单的例子

取指针变量的值

注意指针也有指针哦

通过这个例子我们知道数组名,他就是指针数组的首地址;

指针参与运算

我们知道输出指针名它是会输出十六位的内存地址的,所以每次运行指针像下位移,位移多少长度 我们这里定义的是double类型的数组,double占8个空间,所以每次运行ptr都像下运行8个位置

拓展指针运算

对比以下这几句,看看结果会是什么?

看运行结果我们对比下,在分析:
运行拓展第一次:

运行拓展第二次:

运行拓展第三次:

指针不止+1哦

数组的尾地址

二维数组的指针

理解字符串数组与字符指针的区别

我们可以发现 字符指针 只是把字符串的地址给了这个指针,而数组字符,则是开辟一个新的内存空间存放这个字符

常用的内置方法

malloc()动态分配内存

calloc()动态分配内存意义与malloc一致(推荐使用)

定义一个函数找到数组中某个数值的下标

这样就会改变外部变量!因为我们传了指针进去直接改变指针指向的值,当然会被改变

用法

这个例子中我们不加static 或者改成auto,那么结果打印始终是1,因为每次运行num函数中a都会被重新赋值为0;

新建.h为后缀名的文件
我们新建文件名为test.h
一般用来定义常量

extern申明变量在另一个文件中
如现在有两个.c文件 main.c 、test.c
如果test.c有个全局变量a 那么定义

嵌套结构

简化结构体的定义与使用

结构体中含有多个属性(结构体)

结构数组

这次我们把所有的功能放在头文件中使用

新建hero.h头文件以及hero.c

hero.c我们先填几个玩家以及职业,后期可以拓展进行职业类的添加函数

结果:

或者传指针

我们创建两个文件一个《game.h》《game.c》

game.h

game.c实现文件

运行效果

1、enum ->枚举

2、union多选一

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式