首页 > 编程知识 正文

字符指针和字符数组的区别(结构体指针和结构体变量)

时间:2023-05-03 16:02:41 阅读:80177 作者:1470

1、什么是指针?

在c语言中,指针是另一变量的地址,指针指的是该变量,该变量可以是函数变量、整形变量等。

2、什么是排列?

数组是指存储一些数据的仓库。 但是,在该仓库中,int a[3]; 这将定义一个包含三个整数值的数组。

3、什么是列举?

列举我们写程序时,作为常数,作为一些判断的条件,例如

枚举、整数、整数、整数、整数; 在这种情况下,a=0; b=1; c=2; d=3;

4、什么是结构体?

结构的出现可以帮助我们更好地规划我们的代码,使代码更有条理,从而将我们程序中的一个模块封装在一个结构中。 例如

类型a

u8尺寸;

u8的长度;

u8个数;

u8get _ data (输入时间戳;

(;

5、什么是字符串?

字符串是我们编码的表示形式之一,在项目中有时用字符串表示会更方便。

6、什么是域?

如果程序结构包含多个开关量,则只有TRUE/FALSE变量如下所示:

结构

{

未签名的int width验证;

统一高度验证;

状态;

此结构需要8字节的内存空间,但实际上每个变量只存储0或1。 在这种情况下,c语言提供了更好地利用内存空间的方法。 在结构中使用这些变量时,可以定义变量的宽度并将其传达给编译器。 只使用这些字节。 例如,可以按如下方式重写上面的结构:

结构

{

unsignedintwidthvalidated :1;

unsignedintheightvalidated :1;

状态;

在上面的结构中,status变量占用4字节的内存空间,但只有2位用于存储值。 如果使用32个变量,每个变量的宽度为1位,则status结构使用4个字节,但如果使用另一个变量,则会分配内存的下一个段来存储第33个变量,此时使用8个字节为了理解这个概念,让我们看一下下面的例子。

` ` c

# #包括stdio.h

# #包含字符串. h

/*定义简单的结构*

结构

{

未签名的int width验证;

统一高度验证;

状态1;

/*域结构的定义*

结构

{

unsignedintwidthvalidated :1;

unsignedintheightvalidated :1;

状态2;

int主() )

{

printf (内存曝光系统1: % dn ),尺寸状态1 );

printf (内存曝光系统2: % dn ),尺寸状态2 );

返回0;

}

```上的代码被编译并执行后,会产生以下结果。

memorysizeoccupiedbystatus 1:8

emorysizeoccupiedbystatus 2:4

` ` c

# #包括stdio.h

# #包含字符串. h

结构

{

无符号整数存储: 3;

(age;

int主() )

{

Age.age=4;

printf (三氮(age ) :%d(n ),三氮(sizeof ) age );

打印机(age.age : % d (n ),AGE.AGE );

Age.age=7;

打印机(age.age : % d (n ),AGE.AGE );

Age.age=8; //二进制显示的1000有4位,超过了

打印机(age.age : % d (n ),AGE.AGE );

返回0;

}

```上面的代码编译后会发出警告,上面的代码执行后会出现以下结果。

Sizeof(age ) : 4

Age.age : 4

age : 7

age :

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。