我刚开始阅读C++并发现c ++具有丰富的字符串操作功能,C没有.我正在阅读这些函数,c_str()并且从我所理解的是c_str转换了一个字符串,该字符串可能为空终止或者可能不是以空终止的字符串.这是真的吗?
任何人都可以建议我一些例子,以便我可以理解使用c_str函数??
在阅读教程时,我遇到了如何在内存中表示浮点数.本教程有一个带浮点数的例子.
float a=5.2 with below Diagram
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我5.2如何转换为二进制文件以及它如何在上图中的内存中表示?
在接受采访时我被问到如何分配二维阵列,以下是我的解决方案.
#include <stdlib.h>
int **array;
array = malloc(nrows * sizeof(int *));
for(i = 0; i < nrows; i++)
{
array[i] = malloc(ncolumns * sizeof(int));
if(array[i] == NULL)
{
fprintf(stderr, "out of memory\n");
exit or return
}
}
Run Code Online (Sandbox Code Playgroud)
我以为我做得很好,但后来他让我用一句malloc()不是两句话来做.我不知道如何实现它.
任何人都可以建议我单独做一些想法malloc()吗?
可能重复:
这段代码的含义是什么?void(*signal(int sig,void(*func)(int)))(int);
我有一个复杂的声明,它取自"signal.h"头文件,下面是声明.
void (*signal(int sig, void (*func)(int)))(int);
Run Code Online (Sandbox Code Playgroud)
现在,我该如何解析它?如
signal是带有两个参数'sig'的int类型和'func'的函数,它是一个指向函数的指针,该函数将int作为参数并返回void类型; 它返回一个指向函数的指针,该函数将int作为参数并返回void.
可以,或者信号是指向功能的指针吗?
我是C的新手,我正在阅读有关递归的内容,但我完全感到困惑.
我感到困惑的主要部分是当达到退出条件时,事情是如何放松的.我想知道在递归值中如何从堆栈推送和弹出.
也有人可以给我一个递归的图解视图吗?
谢谢...
我的问题有两个部分.
首先,作为这个地址空间的新手,我想知道地址的内存对齐是什么意思.我用Google搜索了一下,但也想在这里提出这个问题,因为我发现这里的答案非常有用.
我的问题的第二部分与对齐和编程有关:如何找到一个地址是否是4字节对齐?在某处我读到:
if(address & 0x3) // for 32 bit register
Run Code Online (Sandbox Code Playgroud)
但我真的不知道这是如何检查4字节对齐的.任何人都可以详细解释一下吗?
编辑:如果有人可以在这个主题上绘制图片,那就太棒了.
谢谢
我在接受采访时被问到虚拟内存是无限的吗?我回答说这不是无限的.然后面试官问了解释,我建议的是,在Windows中,我们确实有一种手动方式将虚拟内存配置到一定限度.
我想知道虚拟内存是否真的无限?
我有一段代码,我试图返回指向的值的平方*ptr.
int square(volatile int *ptr)
{
int a,b;
a = *ptr;
b = *ptr;
return a * b;
}
main()
{
int a=8,t;
t=square(&a);
printf("%d",t);
}
Run Code Online (Sandbox Code Playgroud)
它对我来说很好,但是这段代码的作者说它可能因为以下原因而无法工作:
因为它可能*ptr会意外地改变,a和b有可能不同.因此,此代码可能返回一个不是正方形的数字!正确的方法是
long square(volatile int *ptr)
{
int a;
a = *ptr;
return a * a;
}
Run Code Online (Sandbox Code Playgroud)
我真的很想知道他为什么这样说?
我是使用C在Linux中进行串行编程的新手.我已经找到了一小段代码来在串口上写入数据,我在这里分享.运行此代码后,我可能会认为数据已写入特定端口.现在我想打开另一个终端并使用单独的代码想要读取写在该特定端口上的数据 - 我该怎么做?
#include <stdio.h> /* Standard input/output definitions */
#include <string.h> /* String function definitions */
#include <unistd.h> /* UNIX standard function definitions */
#include <fcntl.h> /* File control definitions */
#include <errno.h> /* Error number definitions */
#include <termios.h> /* POSIX terminal control definitions */
/*
* 'open_port()' - Open serial port 1.
*
* Returns the file descriptor on success or -1 on error.
*/
int
open_port(void)
{
int fd; /* File descriptor for the port */ …Run Code Online (Sandbox Code Playgroud) c ×9
memory ×2
c++ ×1
linux ×1
linux-kernel ×1
recursion ×1
serial-port ×1
string ×1
volatile ×1