初识C语言(对c语言的简单介绍)(2)

简介: 初识C语言(对c语言的简单介绍)

修饰全局变量


//代码1
//add.c
int g_val = 2018;
//test.c
int main()
{
  printf("%d\n", g_val);
  return 0;
}
//代码2
//add.c
static int g_val = 2018;
//test.c
int main()
{
  printf("%d\n", g_val);
  return 0;
}

代码1正常,代码2在编译的时候会出现连接性错误。

结论:

一个全局变量被static修饰,使得这个全局变量只能在本源文件内使用,不能在其他源文件内使用。


修饰函数

//代码1
//add.c
int Add(int x, int y)
{
  return c + y;
}
//test.c
int main()
{
  printf("%d\n", Add(2, 3));
  return 0;
}
//代码2
//add.c
static int Add(int x, int y)
{
  return c + y;
}
//test.c
int main()
{
  printf("%d\n", Add(2, 3));
  return 0;
}


代码1正常,代码2在编译的时候会出现连接性错误.

结论:

一个函数被static修饰,使得这个函数只能在本源文件内使用,不能在其他源文件内使用。


指针


内存:


内存是电脑上特别重要的存储器,计算机中所有程序的运行都是在内存中进行的 。所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址


image.png


变量都有地址,取出变量地址如下:


int main()
{
int num = 10;
#//取出num的地址
printf("%p\n", &num);//打印地址,%p--以地址的形式打印
return 0;
}


image.png


那地址如何存储,需要定义指针变量。

int num = 10;
int *p;//p为一个整形指针变量
p = #

指针的使用实例:

#include <stdio.h>
int main()
{
int num = 10;
int *p = &num;
*p = 20;
return 0;
}

image.png

指针变量的大小

#include <stdio.h>
int main()
{
printf("%d\n", sizeof(char *));
printf("%d\n", sizeof(short *));
printf("%d\n", sizeof(int *));
printf("%d\n", sizeof(double *));
return 0;
}
结论:指针大小在32位平台是4个字节,64位平台是8个字节。

结构体


结构体是C语言中特别重要的知识点,结构体使得C语言有能力描述复杂类型。比如描述学生,学生包含: 名字+年龄+性别+学号这几项信息。这里只能使用结构体来描述了。例如:


struct Stu
{
char name[20];//名字
int age; //年龄
char sex[5]; //性别
char id[15]; //学号
};
结构体的初始化:
//打印结构体信息
struct Stu s = {"张三", 20, "男", "20180101"};
//.为结构成员访问操作符
printf("name = %s age = %d sex = %s id = %s\n", s.name, s.age, s.sex, s.id);
//->操作符
struct Stu *ps = &s;
printf("name = %s age = %d sex = %s id = %s\n", ps->name, ps->age, ps->sex, ps-
>id);


写在最后


本章内容为语言的一个简单基础介绍,每一个小的内容将会在之后的博客中介绍,请大家持续关注!!!!

目录
相关文章
|
7月前
|
C语言
C语言练习5
C语言练习5。
34 2
|
7天前
|
传感器 安全 算法
【C语言】C语言可以做什么?
C语言因其高效、灵活和低级控制能力,被广泛应用于各个领域,从基础设施和科学计算到金融、交通和机器人技术。它在许多关键应用中展示了其不可替代的价值和广泛的适用性。
27 2
|
7月前
|
存储 C语言
0基础玩转C语言—初识C语言(下)
0基础玩转C语言—初识C语言(下)
|
7月前
|
存储 C语言 C++
0基础玩转C语言—初识C语言(上)
0基础玩转C语言—初识C语言(上)
|
3月前
|
编译器 C语言 C++
从C语言到C++
本文档详细介绍了C++相较于C语言的一些改进和新特性,包括类型检查、逻辑类型 `bool`、枚举类型、可赋值的表达式等。同时,文档还讲解了C++中的标准输入输出流 `cin` 和 `cout` 的使用方法及格式化输出技巧。此外,还介绍了函数重载、运算符重载、默认参数等高级特性,并探讨了引用的概念及其应用,包括常引用和引用的本质分析。以下是简要概述: 本文档适合有一定C语言基础的学习者深入了解C++的新特性及其应用。
|
5月前
|
Java 编译器 C#
【C语言】初识C语言
学习C语言前期需要掌握的一些基础知识
60 2
【C语言】初识C语言
|
7月前
|
Java 程序员 编译器
什么是C语言
什么是C语言
143 0
|
自然语言处理 Java 编译器
零基础玩转C语言-初识C语言(上)
零基础玩转C语言-初识C语言(上)
149 0
|
存储 C语言
初步认识C语言(二)(下)
初步认识C语言(二)(下)
56 0
|
存储 C语言
初步认识C语言(二)(上)
初步认识C语言(二)(上)
81 0