分类目录归档:C

C语言动态内存管理


有时您需要在堆中分配内存空间,也称为dinamic内存。当您在编译期间不知道数据结构(如数组)的大小时,这非常有用。

一个例子

这是一个简单的例子,我们分配一个数组,要求用户选择维度

#include <stdio.h>
 #include <stdlib.h>

 int main(void) {
    int arrayDimension,i;
    int* arrayPointer;

    scanf("Please insert the array dimension:%d",arrayDimension);
    arra...

阅读全文...

C中的结构化数据类型


C中的结构化数据类型

在编程过程中,您可能会觉得需要定义自己的数据类型。在C中,这是使用两个关键字完成的: structtypedef 。 结构和联合将使您有机会将非同质数据类型存储到单个集合中。

什么是结构?

  • 结构 是C中的用户定义类型。它基于这样的想法,即程序员不仅要管理原始数据类型,还需要管理程序员定义的数据类型。
  • 结构 ,顾名思义,是由各种原语数据类型,如字符,整数,浮点变量,数组等等
  • 结构 还可以包含各种其他用户定义的数据类型。接下来你将学习嵌套结构。
  • 结构 构成了 面向对象编程 的基础,因为_类_的概念源于结构。

struct关键字

  • struct关键字可以帮助我们定义...

阅读全文...

C中的指针


到现在为止你应该知道C是一种低级语言,没有什么能比指针更好。指针是通过“指向”内存位置而不是存储变量本身的值来获取变量值的变量。这允许一些方便的技巧,并且还使我们能够访问数组和文件处理等。

type *var-name;

制作和使用指针

#include <stdio.h>

 int main(void){
    double my_double_variable = 10.1;
    double * my_pointer;

    my_pointer = &my_double_variable;

    printf("value of my...

阅读全文...

C中的malloc


malloc()是一个库函数,它允许C从堆中动态分配内存。堆是存储某些内容的内存区域。

malloc()是stdlib.h的一部分,为了能够使用它,你需要使用#include <stdlib.h>

使用Malloc

malloc()分配所请求大小的内存,并返回指向已分配块开头的指针。要保存此返回的指针,我们必须创建一个变量。指针应与malloc语句中使用的类型相同。
在这里,我们将指向即将出现的一组int

int* arrayPtr;

与其他语言不同,C不知道它为内存分配的数据类型;需要告诉它。幸运的是,C有一个名为sizeof()的函数,我们可以使用它。

arrayP...

阅读全文...

C中的数组和字符串


数组允许将一组变量组合在一起作为一个变量。这本身很有用,但也因为字符串属于这一类。字符串是我们在计算机语言中表示单词和句子的方式,它们只是字符变量的集合。因此,我们使用C中的数组表示字符串。

制作一个数组

正常的整数变量将被声明为:

int my_variable;

要将此声明为数组,并使其成为5个整数的数组,可以将其声明为:

int my_array[5];

这将生成一个名为my_array的数组,它可以容纳5个整数。但是,尚未设置阵列中的任何位置。您可以声明数组,并在开头设置值:

int my_array[] = {1, 5, 3, 6, 2};

请注意,在此示例中,我们没有在...

阅读全文...

C中的数组


问题

在尝试解释什么是数组之前,让我们看看我们想要以相反的顺序打印用户给出的10个数字的代码。

#include <stdio.h>
 int main(void) {
    int a, b, c, d, e, f, g, i, j, k;
    scanf("%d", &a);
    scanf("%d", &b);
    ...
    printf("%d", k);
    printf("%d", j);
    printf("%d", i...

阅读全文...

C中的函数


有时您需要反复使用一段代码,但代码中的不同时间和地点。你可以一遍又一遍地复制和粘贴它,但这不是一个很好的解决方案 - 你的文件大小最终变得更大,你的代码更难调试,你的代码更难以阅读。相反,使用函数:函数就像代码中存在的迷你程序。您可以传递它们使用的变量,并且它们可以返回数据。

一个例子

这是一个分割两个数字的函数的简单示例。它不是很有用,因为我们有/ ,但它显示了函数的不同部分。

#include <stdio.h>

 int divides(int a, int b) {
    return a / b;
 }

 int main(void) {
    int fi...

阅读全文...

C中的各种循环


当您拥有要循环的代码时,循环就是您所使用的,这意味着在运行之后,您可能希望它循环到开头并再次运行。在C中有一些这些。

循环

最简单的是while循环。 while循环将在括号内的条件为真时运行。当你想要发生某些事情直到某种情况发生时,应该使用它们。

句法

while(condition) {
   statement(s);
 }

这是一个例子:

#include <stdio.h>

 int main(void) {
    int my_number = 0;

    while(my_number != 10){
        ++my_number;
    ...

阅读全文...

C if 语句


更改基于环境中某些信息的代码行为的能力称为条件代码流。有时您希望代码根据特定条件运行。在这种情况下,我们可以使用If语句。它也被称为决策声明,因为它根据给定的表达式(或在给定的条件下)做出决定。如果表达式求值为true,那么将执行'if'语句中的代码块。如果表达式的计算结果为false,那么将执行'if'语句结束后(结束大括号之后)的第一组代码。表达式是一个表达式,它具有对布尔变量进行操作的关系和/或逻辑运算符。表达式的计算结果为true或false。

if语句的_语法

if (testExpression) {
   // statements
 }

一个简单的例子

让我们看一下这个...

阅读全文...

C语言if语句


if语句根据条件执行不同的代码块。

if (condition) {
    // Do something when `condition` is true
 }
 else {
    // Do something when `condition` is false
 }

condition为真,代码里面if部分执行,否则else执行。有时您需要添加第二个条件。为了便于阅读,您应该使用else if而不是嵌套if语句。

if (condition) {
    // Do something if `condition` is true
 }
 else if (another...

阅读全文...