初识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语言的大概知识,并不作深入探讨。知识点会在后期的更新的文章中进行深入学习。
43 0
|
6月前
|
存储 C语言
0基础玩转C语言—初识C语言(下)
0基础玩转C语言—初识C语言(下)
|
5月前
|
机器学习/深度学习 人工智能 算法
|
6月前
|
存储 C语言
C语言:练习6
C语言:练习6
26 1
|
6月前
|
编译器 Linux C语言
|
11月前
|
存储 编译器 C语言
初识C语言(3)
初识C语言(3)
69 0
|
12月前
|
存储 程序员 编译器
初识C语言(4)
初识C语言(4)
85 0
|
存储 编译器 C语言
C语言学习-初识C语言(1)
C语言学习-初识C语言(1)
116 1
|
存储 C语言
初步认识C语言(二)(下)
初步认识C语言(二)(下)
52 0
|
存储 C语言
初步认识C语言(二)(上)
初步认识C语言(二)(上)
78 0