C/C++教程

和新朋友说声Hellow(初识C语言,快速读懂C语言程序)【4】

本文主要是介绍和新朋友说声Hellow(初识C语言,快速读懂C语言程序)【4】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.指针

指针:生而难学,我很抱歉

可以看出,指针难其实不太怪指针蛤hahah( ̄︶ ̄)

指针是比较重要的内容,在这里我们也只是简单的讲解,到后面会有详细解读

1.1内存

讲到指针必须先讲内存

内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的 。 所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。

为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地 址

就像这个表格一样,就可以形象的表示出内存是什么样子的后面的0x.......就是内存的地址了

前面的一个字节一个字节,可以用来存放数据,当你在编译器中发出指令,内存就会为其开辟一块空间

用一段代码可以清晰的看出来

include <stdio.h>
int main()
{
 int num = 10;
 &num;//取出num的地址    
 printf("%p\n", &num);//打印地址,%p是以地址的形式打印
 return 0;
}

这段代码通过运行,就能看出来num的数值和地址,和上面的表格对应起来就很好理解了 

 像这样

1.2指针

在上面我们知道,内存单元是又地址的,那如何存储地址呢?

那就是

 指针

指针是用来存储内存地址的变量,指针是变量!指针是变量!!指针是变量!!!

1.2.1

指针如何定义

是变量就有类型,指针也有类型,所有变量能用的类型,它也能用

就好像

int* pa;
float* pb;
double* pc;
char* pd

不仅仅是这些,甚至在结构体中也能用指针,这个到后面结构体的时候会讲到

一般定义指针的时候,会在它指向的变量前面加个p,这样方便程序阅读

1.2.2

指针变量的大小

指针既然是变量,就会有大小,可以用这样一段代码来测试一下

 

 这段代码你有可能得到的结果是4,也有可能是8.

结论:指针大小在32位平台是4个字节,64位平台是8个字节。

2.结构体

2.1结构体定义

结构体是属于我们初识C语言的终章了

结构体就是把很多很多的类型打包,我们可以看一段代码来表示结构体

#include<stdio.h>
struct stu
{
int num;
char name;
float scorat;

}stu;

这样我们就定义了一个叫stu的结构体,题包含int类型的num,char类型的namefloat类型的scorat,在我们定义一个学生的时候我们就可以写 struck stu a

在我们访问某个结构体的时候,就可以用a.num就访问了这个结构体的num

在前面我们也提到过指针作用于结构体

我们可以定义一个结构体指针,其定义方法和访问都看下面这段代码

struct stu *pa; //这是结构体指针的定义
(*pa).num; //这是结构体指针访问的第一种形式
pa->num;   //这是结构体指针访问的第二种形式

这段代码可以清楚的表示结构体指针的用法。

2.2结构体初始化

结构体初始化,就可以一个一个访问,用一个循环加scanf来初始化,或者直接这样

struct stu a ={1615,'张三',561.1}

这样也可以完成结构体的初始化

到这我们也就完结撒花了,如果看完这些,你已经可以完整的读明白任何一段C语言代码了,真正进入C语言,将会在后面的文章中从选择分支和循环那里开始详细讲解

这篇关于和新朋友说声Hellow(初识C语言,快速读懂C语言程序)【4】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!