小编Dar*_*der的帖子

堆栈与原始数据类型的内存分配

在C中声明一个结构时,请说:

typedef struct my_stuct {
 int x;
 float f;
} STRT;
Run Code Online (Sandbox Code Playgroud)

如果我们想要创建这个结构的一个实例并使用它,我们显然需要调用malloc,在我们实际初始化/使用结构的任何成员之前,获取一个指向该结构的内存位置的指针:

STRT * my_struct_instance = (STRT *) (malloc(sizeof(STRT)));
Run Code Online (Sandbox Code Playgroud)

但是,如果我声明一个原始数据类型(比如"int a;")然后想要初始化它(或对它做任何其他操作),我不需要在执行任何操作之前通过调用malloc为它显式分配一个mempory空间.对它的操作:

// we do not need to do a malloc(sizeof(i)) blah blah here. Why?
i = 10;
Run Code Online (Sandbox Code Playgroud)

你能解释一下这种不一致的原因是什么吗?谢谢!

c malloc memory-management

1
推荐指数
1
解决办法
303
查看次数

Flask 应用程序端口拒绝连接 ec2

我有一个 Flask 应用程序,我将其部署在 EC2 实例上。该应用程序启动得很好:

ubuntu@ip-something:~/webservices$ python service/texting_service.py 
 * Serving Flask app "texting_service" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://127.0.0.1:8080/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 146-396-474

Run Code Online (Sandbox Code Playgroud)

当我ssh进入此 EC2 实例并使用 调用该服务时localhost,它会返回预期的响应。但是,当我尝试使用实例的公共 IP 地址从 EC2 实例外部调用此服务时,我看到以下错误:

curl: (7) Failed to connect to …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 flask aws-security-group

1
推荐指数
1
解决办法
2181
查看次数

这个基本的strcat实现有什么问题?

我是C的新手,我正在尝试编写一个简单的程序来连接两个字符串.在我的Linux机器上运行它时,我得到以下异常:

test.c:12:10:错误:'strcat'的冲突类型

你能帮我理解我在这里缺少的东西:

#include<stdio.h>
#include<string.h>

void main() {
  // string concatenation
  char str1[] = {'S', 'h'};
  char str2[] = {'X', 'y'};
  strcat(str1, str2);
}

void strcat(char str1[], char str2[]) {
  int index;
  int str1_length = strlen(str1);
  for(index=0; index<strlen(str2); index++) {
    str1[index + str1_length] = str2[index];
  }
}
Run Code Online (Sandbox Code Playgroud)

c

0
推荐指数
1
解决办法
724
查看次数

Java使用正则表达式提取文本

我试图使用Java正则表达式从以下字符串中提取粗体子字符串:

音乐作品| 与| 作曲家| James Hetfield(音乐家)

我开始使用此代码,但这不起作用.我不确定我错过了什么:

final Pattern pattern = Pattern.compile("| (.+?) (musician)");
final Matcher matcher = pattern.matcher("music works | with | composer | James Hetfield (musician)");
matcher.find();
System.out.println(matcher.group(1)); // Prints String I want to extract
Run Code Online (Sandbox Code Playgroud)

思考?

java regex

0
推荐指数
1
解决办法
349
查看次数