有人可以帮我理解C中的结构错误吗?这是我的代码:
struct Orientation
{
char facing;
char sensor;
char mazeDir;
};
struct Orientation O[16];
O[0] = {'N', 'F', 'N'};
O[1] = {'N', 'B', 'S'};
O[2] = {'N', 'R', 'E'};
O[3] = {'N', 'L', 'W'};
O[4] = {'S', 'F', 'S'};
O[5] = {'S', 'B', 'N'};
O[6] = {'S', 'R', 'W'};
O[7] = {'S', 'L', 'E'};
O[8] = {'E', 'F', 'E'};
O[9] = {'E', 'B', 'W'};
O[10] = {'E', 'R', 'S'};
O[11] = {'E', 'L', 'N'};
O[12] = {'W', 'F', 'W'};
O[13] …Run Code Online (Sandbox Code Playgroud) 我可以声明一个结构:
typedef struct
{
int var1;
int var2;
int var3;
} test_t;
Run Code Online (Sandbox Code Playgroud)
然后使用默认值创建这些结构结构的数组:
test_t theTest[2] =
{
{1,2,3},
{4,5,6}
};
Run Code Online (Sandbox Code Playgroud)
但是在我创建数组之后,有没有办法像上面一样改变值,只使用一行,明确指定每个值而没有循环?
#include<stdio.h>
#include<string.h>
struct node
{
int a;
char *p;
};
int main()
{
struct node X,Y;
char s[5] = "Adam";
char t[5] = "Jack";
X.a = 5;
X.p = s;
Y = X;
Y.a = 10;
strcpy(Y.p,t);
printf("%d %s\n",X.a,X.p);
printf("%d %s\n",Y.a,Y.p);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在这个问题中,结构X有"a = 5"和"P指向亚当".然后将其复制到另一个结构Y.并对Y进行更改.但是当strcpy(Yp,t)完成时.
输出是:
5 Jack
10 Jack
Run Code Online (Sandbox Code Playgroud)
这种变化应该仅在Y中,但这些变化也反映在X.如何?
我的问题是"当一个结构成员被复制时,如何改变另一个结构成员"?
我最近第一次在C代码中遇到以下行为:
struct tm brokenDownTime = *gmtime( &myTime );
Run Code Online (Sandbox Code Playgroud)
gmtime返回一个指向tm结构的指针,我可以看到它被解除引用,我是否正确假设*导致结构被复制?
非常感谢
1.连接以外的静态结构有什么用?
static struct test //THIS ONE
{
int a;
};
Run Code Online (Sandbox Code Playgroud)
2.像这样使用静态的用途是什么?当我创建它并尝试使用静态成员(通过结构对象)时,它显示"对`test :: a'的未定义引用"
struct test
{
static int a; //THIS ONE
};
Run Code Online (Sandbox Code Playgroud)
3.创建静态结构对象有什么用?
struct test{
int a;
};
int main()
{
static test inst; //THIS ONE
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我正在写我的magento扩展并想出了一个问题.主扩展文件/目录结构非常清楚.我们有扩展配置文件,模型,帮助器,数据库资源,前端和后端脚本和样式表等的目录.
但是如果我的扩展使用一些不是类或资源的文件来包含在前端或后端呢?
例如:图像文件只会附加到电子邮件中,并且永远不会被浏览器直接检索.
应该/我可以只创建一个目录/ app/code/community/MyNamespace/MyExtensionName/images吗?
相同的目录树,以提高可读性:
app
code
community
MyNamespace
MyExtensionName
images
Run Code Online (Sandbox Code Playgroud)
或者还有其他正确/推荐的方法来实现吗?
我听说你并不打算将程序编程风格强加到R.我发现这很难.我刚刚用for循环解决了一个问题.这是错的吗?有更好的,更"R风格"的解决方案吗?
问题:我有两列:Col1和Col2.Col1包含以自由格式输入的职务.我想使用Col2将这些职位分类收集到类别中(因此"初级技师","工程技师"和"机械技术"都被列为"技师".
我这样做了:
jobcategories<-list(
"Junior Technician|Engineering technician|Mech. tech." = "Technician",
"Manager|Senior Manager|Group manager|Pain in the ****" = "Manager",
"Admin|Administrator|Group secretary" = "Administrator")
for (currentjob in names(jobcategories)) {
df$Col2[grep(currentjob,data$Col1)] <- jobcategories[[currentjob]]
}
Run Code Online (Sandbox Code Playgroud)
这会产生正确的结果,但我不能动摇(因为我的程序经验)我没有正确使用R的感觉.R专家可以让我摆脱困境吗?
编辑
我被问到原始数据.不幸的是,我无法提供它,因为它有机密信息.它基本上是两列.第一列仅包含400多行不同的职位(以及奇怪的个人姓名).大约有20种不同的类别可以分成这400种标题.第二列以NA开始,然后在运行for循环后填充.
抱歉我的英语水平不好,我来自阿根廷.
我在Firebase中有以下消息数据结构:
"messages"
"-KezmqXSdKCNFFA432Uc___-KfCEwklG_y3naRDIUiY"
"messageDate": "20170620"
"messageTime": "18:44"
"message": "Hi"
"-KezFDSAADFASFFS3221___-KASDF32324SDFASD1FS"
"messageDate": "20170620"
"messageTime": "22:23"
"message": "How are you?"
Run Code Online (Sandbox Code Playgroud)
其中-KezmqXSdKCNFFA432Uc,-KfCEwklG_y3naRDIUiY,-KezFDSAADFASFFS3221和-KASDF32324SDFASD1FS是用户.
我的问题是我在"messages"节点中创建了一个childEventListener来接收新用户的消息但是我收到了所有用户的所有新消息(我每个应用程序登录一个用户)因为我的childListener在"messages"节点中.
如果我在添加邮件时有1000个用户,新邮件会到达1000个用户,这是否正确?(假设在应用程序中,您可以检查该消息所属的用户).
谢谢!
我尝试将这些VB6类型转换为VB.NET世界.
Type TRACK_DATA
Dim reserved As Byte
Dim Control As Byte
Dim Tracknumber As Byte
Dim reserved1 As Byte
Dim address As Long
End Type
Type CDTOC
Dim Length As Long
Dim FirstTrack As Byte
Dim LastTrack As Byte
Dim Tracks(100) As TRACK_DATA
End Type
Run Code Online (Sandbox Code Playgroud)
目前的尝试失败了
<System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size:=8)>
Structure TRACK_DATA
Public reserved As Byte
Public Control As Byte
Public Tracknumber As Byte
Public reserved1 As Byte
Public address As UInteger
End Structure
<System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, Size:=806)>
Structure CDROM_TOC '4 + 1 + …Run Code Online (Sandbox Code Playgroud) 对于此代码:
typedef struct book_s{
char name[50];
char author[50];
int price;
} book_t;
Run Code Online (Sandbox Code Playgroud)
我将声明此结构的2个变量:
struct book_s first_book;
book_t second_book;
Run Code Online (Sandbox Code Playgroud)
是 first_book和second_book同类型的吗?如果是,这两行是
first_book.name
second_book.name
Run Code Online (Sandbox Code Playgroud)
将提供相同类型的字符串输出?