c++-byte型数组初始化问题

问题描述

byte型数组初始化问题

我在头文件的类中定义了成员变量byte m_command[4];在对应的源文件的类的构造函数中对其初始化byte m_command[4]={0,0,0,0};但得不到初始化的结果,结果为m_command[0],m_command[1],m_command[2],m_command[3]均为204,这是怎么回事?应该如何初始化?

解决方案

在构造函数里byte m_command[4]={0,0,0,0}这样写的意思是声明一个新的局部变量m_command,跟头文件里声明的m_command不是同一个变量。你可以在构造函数里这样写:memset(m_command, 0, 4)将其初始化为0
这是个概念问题,一定得搞清楚。

时间: 2024-08-30 22:29:10

c++-byte型数组初始化问题的相关文章

求助C# 把一个长度为1026×512的byte型数组 拆分为512个长度为1026的数组

问题描述 求助C#把一个长度为1026×512的byte型数组拆分为512个长度为1026的数组其中1026长度的最后两个1025和1026为顺序标记位(我已经设置好的)再按照顺序标记,重新组成个长度为1024×512的一个数组(这里的1024是把每个1026最后两个顺序位置删除) 解决方案 解决方案二:贵求大神啊---刚开始搞C#不是很会啊解决方案三:顺序标记就是从0数到511啊解决方案四:for(i=0;i<512;i++){byte[]b=newbyte[1026];for(j=i*102

C++按照正态分布来排列整型数组元素_C 语言

题目要求如下: 给定一个数组input[], 如果数组长度n为奇数,则将数组中最大的元素放到output[]数组最中间的位置, 如果数组长度n为偶数,则将数组中最大的元素放到 output[] 数组中间两个位置偏右的那个位置上, 然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数. 这种处理后结果,如果按照元素的值表示一种分布的图形的话,那绘制后的图形应该是正态分布. 关于正态分布: 正态分布(Normal distribution)又名高斯分布(Gaussia

c语言,对结构体中的整型数组进行赋值.....

问题描述 c语言,对结构体中的整型数组进行赋值..... c语言中,在结构体里声明整型数组,想对整型数组赋值,只能用循环吗?如果我想这样呢..... typedef struct Data { int arr[10]; }Data; int main() { Data data; data = (Data)malloc(sizeof(Data)); data->arr[10]={1,3,2,4,5,6,7,8,9,0}; . ... ... ... } 这样可以吗? 解决方案 绝对不可以.数组作

c语言-关于整型数组中数字使用printf输出的问题

问题描述 关于整型数组中数字使用printf输出的问题 #include int main(void) { int number[40]; scanf("%s", number); printf("%d", number[0]); return 0; } 数字以字符格式存在数组里,既然字符以数字的形式存储,那为何用%d输出是垃圾值呢?用%c却是正常的 解决方案 字符格式和整型是不同的,字符0对应着48,字符1对应着整数49.... 解决方案二: 字符'0',对应0x

怎么取得整型数组中连续相同的数字并输出打印,用java实现,也就是输出副本,只输出那些连续相同的数字

问题描述 怎么取得整型数组中连续相同的数字并输出打印,用java实现,也就是输出副本,只输出那些连续相同的数字 怎么取得整型数组中连续相同的数字并输出打印,用java实现,也就是输出副本,只输出那些连续相同的数字 解决方案 判断一下一个数字前后是否有相同的,有相同的话就输出,比如下面这样: int array [] = { 2,1,3,4,4,4,9,9,1,0,1,1,2 }; //只输出连续的数字 System.out.print("连续数字:"); for (int i=0;i&

java-为什么char型数组定义在注释的地方就不行?

问题描述 为什么char型数组定义在注释的地方就不行? package cn.lut.test; public class InvokeTest { char a[]={'a','b','c'}; public static void main(String[] args) { //char a[]={'a','b','c'}; InvokeTest test=new InvokeTest(); System.out.println(test.a); } } 解决方案 看懂了...你那个test

字符型数组 可以存储字符串吗

问题描述 字符型数组 可以存储字符串吗 #include int g;// 存储在全局静态区 int main() { char *p1 = "hahajhkj"; // 和g一样 char p2[] = "haha"; // 堆栈中 *p1='a'; printf("%x %x %x", &g, p1,p2); return 0; } 为什么老是停止运行啊 解决方案 p1常量指针,不能修改 解决方案二: char *p1 = "

c语言-C 中将一个int型数赋值给char型数组的前4字节,数组后面仍为char型

问题描述 C 中将一个int型数赋值给char型数组的前4字节,数组后面仍为char型 C 中将一个int型数赋值给char型数组的前4字节,数组后面仍为char型 解决方案 最简单的是使用联合 union X { int val; char[100]; } X.val=1; http://blog.csdn.net/jiangnanyouzi/article/details/3158702 解决方案二: http://www.jb51.net/article/56009.htmhttp://v

文件操作-c语言中怎样将数值型数组写到txt文件中,并且打开文件时不是一堆乱码?

问题描述 c语言中怎样将数值型数组写到txt文件中,并且打开文件时不是一堆乱码? 求教!请问在对文件进行读写的时候,将一double型的数组写进文件中,之后打开文件,为什么都是乱码?怎么修改才能在文件中显示数值呢? 附写的代码: #include #include #include struct type { double data[2]; }; void main() { int i; struct type dataset[200]; FILE *fp; if(!(fp=fopen("dat