我想知道的区别str == NULL和str[0] == '\0':
int convert_to_float(char *str, double *num)
{
if ((str == NULL) || (str[0] == '\0'))
return(-1);
*num = strtod(str, (char **)NULL);
return(0);
}
Run Code Online (Sandbox Code Playgroud)
我在Linux上使用gcc.
我正在用C语言编写使用ARM体系结构的设备.我想检查我的应用程序中的内存泄漏.正如在我的设备中,iam工作(ARM体系结构)不支持Valgrind ..所以我可以使用其他选项来检查我的应用程序中的内存泄漏.有没有办法检查内存泄漏...或者请指导我在编写代码时必须采取的预防措施,以避免内存泄漏,尤其是在处理字符串和动态内存分配时...?
平台:Linux,gcc编译器
我有一个大小为 1500 的缓冲区。在该缓冲区中,我需要检查 15 个字节是否全为零(从 100 到 115)。我们怎样才能做到这一点(如果我们不使用任何循环)?数据的类型是“unsigned char”,实际上它是一个unsigned char数组。
平台:Linux、C、gcc 编译器
使用memcmp()是否正确?我正在从智能卡读取一些数据并将它们存储在缓冲区中。现在我需要检查最后 15 个字节是否连续为零。我memcmp()在这里提到是因为我需要一种有效的方法;智能卡读取已经花费了一些时间。
或者按位比较是否正确。请建议。
我想用C编程.我想知道在开发本身时我们应该遵循什么样的做法来避免内存泄漏.请提及在处理字符串和动态内存分配时要特别注意的事项.
我想从我的代码中删除所有调试printf语句.如何在不使用条件调试的情况下通过打开/关闭调试语句来执行此操作?
我只使用printf来检查一个特定的值是否正在变弱......如下所示...:printf("value read%d \n",a);
我正在Linux平台上用C语言编程。#defines我想知道应该是声明和头文件中的顺序。
例如,如果我的头文件包含以下内容,任何人都可以建议我安排所有这些声明、宏、外部声明等函数的完美顺序应该是什么。
就可读性和编码标准而言,这对于在头文件中正确排列所有这些内容非常有益。
下面是示例头文件(我想按正确的顺序排列以下内容):
#include <pthread.h> // Including Header files
#include <signal.h>
#define IMAGE_DIRECTORY "Abcdefgh..." // Providing #defines
#define FAILED_TO_RECOGNIZE "Xykbkksk..."
#define PROGRESS_FRAME_COLOR "#8e8ea1"
#define FRAME_BG_COLOR "#7c90ac"
#define PRINT_FUNCTION_NAME fprintf(stderr,
"CTRL IN FUNCTION : %s\n",__func__); // Macro like functions
typedef struct {
int userId; // Structure
char name[32], rollNo[32];
char class[16], section[16];
unsigned long Id;
}data_type;
int noOfUsersList=0, usersListCount=0; // Global variables
Run Code Online (Sandbox Code Playgroud) 我正在为通过malloc构造的指针数组分配内存,并希望用零初始化它,如下所述.假设结构包含int和char [](字符串)类型的成员?那我怎么能把这个结构归零呢.
代码:假设我想分配100
struct A **a = NULL;
a = (struct **)malloc(sizeof( (*a) * 100);
for(i=1; i < 100; i++)
a[i] = (struct A*)malloc(sizeof(a));
Run Code Online (Sandbox Code Playgroud)
还请解释一下为什么有必要用零初始化.
平台:Linux,编程语言:C
我知道我们可以使用memset或bzero.我试过它它崩溃了,可能是我正确使用它所以请告诉我正确的方法.
是否可以使用条件运算符表达案例?例如 :
if(rval==1)
DO THIS 1;
else if(rval==2)
DO THIS 2;
else if (rval ==3)
DO THIS 3;
Run Code Online (Sandbox Code Playgroud) Iam用C语言编程并试图学习分支过程的概念,但是我对以下程序的输出感到困惑.所以我需要对此进行一些解释才能继续.
int main() {
pid_t pid;
24 int status, died;
25 switch(pid = fork()){
26 case -1: printf("Can't fork\n");
27 exit(-1);
28
29 case 0 : printf(" Child is sleeping ...\n");
30 sleep(5); // this is the code the child runs
31 //exit(3);
32
33 default:
34 printf("Process : parent is waiting for child to exit\n");
35 died = wait(&status); // this is the code the parent runs
36 printf("Child's process table cleared...\n");
37 }
38 return 0;
39 } …Run Code Online (Sandbox Code Playgroud) c ×9
linux ×6
gcc ×3
embedded ×2
memory-leaks ×2
pointers ×2
c++ ×1
coding-style ×1
cstring ×1
fork ×1
header-files ×1
linux-kernel ×1
macros ×1
process ×1
string ×1
structure ×1