C 知识点

Posted baizhuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C 知识点相关的知识,希望对你有一定的参考价值。

一、基本结构

#include <stdio.h>
 
int main()
{
   /* 我的第一个 C 程序 */
   printf("Hello, World! 
");
   
   return 0;
}

c 程序会生成 .c 的文件

二、基本语法

2.1 注释

// 单行注释

/* 单行注释 */

/* 
 多行注释
 多行注释
 多行注释
 */

2.2 类型

1. 基本类型 它们是算术类型,包括两种类型:整数类型和浮点类型。
2. 枚举类型 它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量。
3. void 类型 类型说明符 void 表明没有可用的值。
4. 派生类型 它们包括:指针类型、数组类型、结构类型、共用体类型和函数类型。

#include<stdio.h>  头文件下 sizeof(类型) ,可以获取指定类型占用的字节数

2.3 预定义常量

#include <stdio.h>
 
#define LENGTH 10

static int count=10; /* 全局变量 - static 是默认的 */

2.4 作用域

局部变量

在某个函数或块的内部声明的变量称为局部变量。它们只能被该函数或该代码块内部的语句使用。局部变量在函数外部是不可知的

全局变量

全局变量是定义在函数外部,通常是在程序的顶部。全局变量在整个程序生命周期内都是有效的,在任意的函数内部能访问全局变量

2.5 数组

//申明数组
int  apples[10];
//初始化数组
int apples[3] = {3,2,5};
//如果数组个数 3 没有,则大小未数组元素个数

2.6 枚举

enum DAY
{
      MON=1, TUE, WED, THU, FRI, SAT, SUN
};

第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。我们在这个实例中把第一个枚举成员的值定义为 1,第二个就为 2,以此类推

enum season {spring, summer=3, autumn, winter};

没有指定值的枚举元素,其值为前一元素加 1。也就说 spring 的值为 0,summer 的值为 3,autumn 的值为 4,winter 的值为 5

三、指针

指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明

int    *ip;    /* 一个整型的指针 */
double *dp;    /* 一个 double 型的指针 */
float  *fp;    /* 一个浮点型的指针 */
char   *ch;     /* 一个字符型的指针 */

在变量声明的时候,如果没有确切的地址可以赋值,为指针变量赋一个 NULL 值是一个良好的编程习惯。赋为 NULL 值的指针被称为指针

3.1字符串

在 C 语言中,字符串实际上是使用 null 字符 ‘‘ 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符

char greeting[6] = {‘H‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘, ‘‘};

四、结构体

4.1 定义结构体

struct Books
{
   char  title[50];
   char  author[50];
   char  subject[100];
   int   book_id;
} book;

Books 是结构体标签,内部是成员,book 是结构体变量。

typedof 为一个类型重新定义一个新的名称

五、输入与输出

#include <stdio.h>
int main()
{
    float f;
    printf("Enter a number: ");
    // %f 匹配浮点型数据
    scanf("%f",&f);
    printf("Value = %f", f);
    return 0;
} 

int i=10; //定义了一个整型变量 

int *p=&i; //定义了一个指针指向这个变量 

int **p1=&p; //定义了一个二级指针指向p指针 

参考:https://www.runoob.com/cprogramming/c-tutorial.html

以上是关于C 知识点的主要内容,如果未能解决你的问题,请参考以下文章

[linux][c/c++]代码片段01

C语言代码片段

c_cpp Atlas300代码片段

c_cpp Robolution基本代码片段

[linux][c/c++]代码片段02

iphone / Objective c的最佳代码片段网站是啥[重复]