非常初学c,实际上这是我的第一个测试程序.
我实际上无法弄清楚如何将此号码打印到终端.
#include <stdio.h>
int addNumbers(int a, int b)
{
int sum = a + b;
return sum;
}
int main(void)
{
int a = 4;
int b = 7;
printf(addNumbers(a,b));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我确信在java中我可以用system.out替换printf并且它可以工作.我之前尝试过搜索答案,但如果你不知道要搜索什么,就很难找到答案.
我正在向我的方法传递一个指向char数组的指针,以及char数组实际高度的值.我循环查看所有值是否为0,如果它们返回0,否则返回1.
该方法用作测试,以查看是否应释放内存,如果指针满0,则将指针设置为null.我遇到的问题是该程序最终应该有"一些不自由"的记忆,所以我不知道它是否正确地做了 - 而gdb我极其困难.
谢谢阅读
int shouldBeNull(char *charPointer, int sizeOfCharArray)
{
int isIn = 0;
int i = 0;
while(i < sizeOfCharArray){
if(*charPointer != '0'){
isIn = 1;
break;
}
i++;
charPointer++;
}
return isIn;
}
Run Code Online (Sandbox Code Playgroud) 我之前发了一篇关于检查内存泄漏等问题的帖子,我确实说我不熟悉linux中的终端,但是有人告诉我这很容易用valgrind
我设法让它运行等但不确定输出意味着什么.看了一眼,对我来说一切看起来都不错,但是如果可能的话,我想通过你经验丰富的人来确认.输出如下
^C==2420==
==2420== HEAP SUMMARY:
==2420== in use at exit: 2,240 bytes in 81 blocks
==2420== total heap usage: 82 allocs, 1 frees, 2,592 bytes allocated
==2420==
==2420== LEAK SUMMARY:
==2420== definitely lost: 0 bytes in 0 blocks
==2420== indirectly lost: 0 bytes in 0 blocks
==2420== possibly lost: 0 bytes in 0 blocks
==2420== still reachable: 2,240 bytes in 81 blocks
==2420== suppressed: 0 bytes in 0 blocks
==2420== Reachable blocks (those to which a pointer was found) …Run Code Online (Sandbox Code Playgroud)