数组定义:

char acBuf[sizeof(TRANS_HEAD_S) + sizeof(USER_HEAD_S) + 4] = {0};

结构体定义:

typedef struct

{

int iOne;

int iTwo;

int iThr;

}TRANS_HEAD_S;

typedef struct

{

int iUser;

}USER_HEAD_S;

1、实现结果:

acBuf[0] = 11

acBuf[1] = 0

acBuf[2] = 0

acBuf[3] = 0

acBuf[4] = 12

acBuf[5] = 0

acBuf[6] = 0

acBuf[7] = 0

acBuf[8] = 13

acBuf[9] = 0

acBuf[10] = 0

acBuf[11] = 0

acBuf[12] = 14

acBuf[13] = 0

acBuf[14] = 0

acBuf[15] = 0

acBuf[16] = 15

acBuf[17] = 0

acBuf[18] = 0

acBuf[19] = 0

2、代码实现:

#include typedef struct

{

int iOne;

int iTwo;

int iThr;

}TRANS_HEAD_S;

typedef struct

{

int iUser;

}USER_HEAD_S;

int main()

{

char acBuf[sizeof(TRANS_HEAD_S) + sizeof(USER_HEAD_S) + 4] = {0};

TRANS_HEAD_S *pstTransHead = NULL;

USER_HEAD_S *pstUserHead = NULL;

int i=0;

int *pValue = NULL;

/*pstTransHead指针指向了acBuf的头*/

pstTransHead = (TRANS_HEAD_S *)acBuf;

pstTransHead->iOne = 11;

pstTransHead->iTwo = 12;

pstTransHead->iThr = 13;

/*pstUserHead指向了acBuf的第13个字节的头,因为结构体TRANS_HEAD_S是12字节*/

pstUserHead = (USER_HEAD_S *)&pstTransHead[1];

pstUserHead->iUser = 14;

/*pValue指向了acBuf的第17个字节的头,因为结构体TRANS_HEAD_S是12字节,USER_HEAD_S是4个字节*/

pValue = (int *)&pstUserHead[1];

(*pValue) = 15;

for(i = 0; i < sizeof(acBuf); i++)

{

printf("acBuf[%d] = %d\n", i, acBuf[i]);

}

return 0;

}

3、对代码【pstUserHead = (USER_HEAD_S *)&pstTransHead[1];】

的解释——结构体赋值给另一个结构体

#include typedef struct

{

int iA;

int iB;

int iC;

}TEST_S;

int main(void)

{

TEST_S t1,t2;

/*给t1结构体赋值*/

t1.iA = 11;

t1.iB = 12;

t1.iC = 13;

/*t1结构体赋值给t2结构体*/

t2 = t1;

printf("t2.iA=%d t2.iB=%d t2.iC=%d\n", t2.iA, t2.iB, t2.iC);

return 0;

}

结果显示:t2.iA=11 t2.iB=12 t2.iC=13

4、char类型指针指向int类型数值,取值结果显示

#include int main()

{

int i = 1561;

char c = 0;

c = (char)i;

printf("i=%d c=%hhu\n", i, c);

return 0;

}

结果显示是:i=1561 c=25

1561:是

25:是

c语言中指针数组赋值字符串,C语言—用结构体指针给数组赋值(结构体指针指向字符串,给字符串赋值)...相关推荐

  1. c语言中的字节和元素,C语言指向数组元素的指针

    指向数组元素的指针和运算法则 所谓指向数组元素的指针,其本质还是变量的指针.因为数组中的每个元素,其实都可以直接看成是一个变量,所以指向数组元素的指针,也就是变量的指针. 指向数组元素的指针不难,但很 ...

  2. c语言中字符 12是多少,c语言中字符串的讲解(DOC可编).doc

    c语言中字符串的讲解(DOC可编).doc 第一部分:字符串的概念 ---字符串:用双引号引起来的一串字符.在C语言,系统将自动的为字符串添加一个结束标志\0 ,该结束标志不作为字符串的实际长度,但作 ...

  3. 指针在c语言中的运用,怎么理解C语言中的指针,如何运用?

    恰好我之前写了一系列介绍 C 语言的文章,介绍了什么是指针,以及为什么要使用指针,下面摘录一部分,感兴趣的话,可以点我了解更多. 什么是 C语言指针? 不同的数据类型的主要区别在于占用的存储空间不同. ...

  4. C语言中易混淆的标识符,C语言指针中易混淆的概念

    C语言指针中易混淆的概念 一.数组指针与指针数组的区别 考虑数组的指针的时候我们要同时考虑类型和维数这两个属性.换一句话,就是说一个数组排除在其中存储的数值,那么可以用类型和维数来位置表示他的种类. ...

  5. c语言中字母的长度是,c语言字符串长度怎么算

    本文收集整理关于c语言字符串长度怎么算的相关议题,使用内容导航快速到达. 内容导航: Q1:c语言计算字符串的长度(用指针) 12345678910111213141516171819#include ...

  6. 随笔:在C语言中如何快速的将16位数据拆开存到8位数组中

    最近在过年,并且在推进导师的项目和写论文,很久没有更新了,先随便写点东西. 在大四的时候曾经遇到过,在进行串口通讯时,只能通过8位数组,8位8位的传输数据,因此有时需要读取或存储更高位的数据例如16位 ...

  7. c语言中空格字符怎么表示_C语言中常用的字符串操作函数

    作者:陈太浪 出处:https://home.cnblogs.com/u/TomHe789/ C语言中提供了许多的字符串操作函数,常见的字符串操作函数有以下几种: 1.求字符串长度的函数 原型函数:s ...

  8. 1. C语言中只能使用单行注释,贵州大学C语言判断题

    1. C程序一个语句只能写在一行上. 2. #define N 10定义了一个值为10的变量N. 3. 设有int a;float f=5.75;在执行语句a=(int)f;后,f变成了int型. 4 ...

  9. c语言中各种函数的作用,C语言常用函数用法大全

    C语言是当中广泛的计算机编程语言,是所有计算机编程语言的祖先,其他计算机编程语言包括当前流行的Java语言,都是用C语言实现的,C语言是编程效率高的计算机语言,既能完成上层应用开发,也能完成底层硬件驱 ...

  10. A13在c语言中是合法变量吗,C语言中局部变量和全局变量等在内存中的存放位置.doc-资源下载在线文库www.lddoc.cn...

    C语言中局部变量和全局变量_等在内存中的存放位置.doc C 语言中局部变量和全局变量 变量的存储类别static,extern,auto,register 8.8 局部变量和全局变量在讨论函数的形参 ...

最新文章

  1. CENTOS6.4 IBUS输入法不显示候选词解决办法
  2. Jenkins plugin
  3. ABAP 程序中退出操作(CHECK, EXIT, RETURN, LEAVE PROGRAM...)
  4. 面试必备|ID3、C4.5、CART、RF、boosting、Adaboost、GBDT、xgboost模型
  5. Ssm在线商城系统实战开发
  6. Openwrt 软件安装源
  7. Singleton 与 MonoState 模式
  8. OSChina 周五乱弹 —— 你用学习机来搞学习?
  9. QStardict移植到i.MX-287开发板
  10. SQL Server数据表提示NOLOCK和READPAST
  11. 8.企业安全建设入门(基于开源软件打造企业网络安全) --- 态势感知系统建设
  12. 体检预约系统软件测试计划书,体检中心-管理软件需求分析.doc
  13. WIN2K XP 2K3 下红警不能联机的完美解决方案(转)
  14. 【深度完美精简版 5.10】 Deepin-LiteXP-5.10
  15. C语言 有两个矩形 求重叠面积,计算两个矩形重叠面积的简单方法
  16. 计算机软件职称高校四川,四川省人社厅:今年部分高校职称自主评审
  17. QQ经典语句→思念之词
  18. Base64方式上传文件
  19. 什么是浮点型?什么是单精度浮点数(float)以及双精度浮点数(double)?
  20. 华为ensp 错误代码 :40

热门文章

  1. 如何保持空域与频域滤波结果的一致性
  2. stdout和stderr标准输出的区别
  3. 用C语言Linux下打印带颜色的字符串
  4. MySQL_常见函数
  5. C++最全输入方式总结(cin、get、getchar、getline)
  6. 在caffe上fine-tuning网络
  7. [云炬创业管理笔记]第四章把握创业机会测试4
  8. VS中添加命令行参数的方法
  9. C#中对象的序列化与反序列化
  10. C++的inline函数