初识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);


写在最后


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

目录
相关文章
|
C语言
C语言练习
C语言练习。
68 1
|
3月前
|
Java 编译器 C#
【C语言】初识C语言
学习C语言前期需要掌握的一些基础知识
52 2
【C语言】初识C语言
|
5月前
|
存储 编译器 C语言
C语言:练习4
C语言:练习4
70 3
C语言:练习4
|
C语言
C语言中的坑(1)
C语言中的坑(1)
47 0
|
5月前
|
C语言
C语言:练习3
C语言:练习3
29 0
|
算法 Serverless C语言
C语言假期作业 DAY 08
C语言假期作业 DAY 08
|
11月前
|
C语言
C语言:%d, %2d, %02d 等
C语言:%d, %2d, %02d 等
|
11月前
|
C语言 C++
初识C语言(2)上
初识C语言(2)
57 0
|
11月前
|
自然语言处理 Java 编译器
零基础玩转C语言-初识C语言(上)
零基础玩转C语言-初识C语言(上)
138 0
|
C语言
C语言假期作业 DAY 13
C语言假期作业 DAY 13