一.变量:

声明一个变量系统是没有给这个变量分配内存空间的:

例:

int j;//编译的时候是没有分配内存空间的
int i=;//计算机在编译的时候就会给这个i分配4个字节的内存空间

二.malloc动态分配内存地址:

回想一下:我们在程序中存储一个整数10;除了使用int a;在内存中申请一块区域来存储,还有一种方法:
              malloc(4);                    //从内存中申请4个字节大小的内存存放整数10
  在C中经常看到这样的写法:
        (int *)malloc(sizeof(int));  //sizeof(获取int类型所占的字节数)
                                                //(int *)表示申请的这些字节数用于存放int类型的整数
例:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int b;
b=(int)malloc(sizeof(int)); //没有这句话,变量b 是不占内存的,printf输出就会空指针异常;有这句话,就输出的申 请的内存地址
printf("%d",b);
system("pause");
return ;
}

三.C中的*和&:

       *:代表取内存中的值(*还有乘法运算,这个就不多解释了)
       &: 代表获取的是变量的地址
       **:二级指针(就是地址里面存放第三个变量的地址地址)
       ->:结构体指针运算符(用于访问结构体内部成员的)
 
例(二级指针的例子):
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[]={,,,,};//这个数组里存入的是具体的数据
int *num[]={&a[],&a[],&a[],&a[],&a[]};//这个数组里面就是全部存的数内存地址,并不是数据
int **p,i;
p=num;
for (i = ; i < ; i++)//注意这里,C语言是不能在这里进行变量的定义的如:int i
{
printf("%d\t",**p);//这里的p表示num数组的首地址,*p表示num[1]的值,也就是a[0]的地址,**p就是值了
p++;//指针向下移一格
}
system("parse");
return ;
}
四.链表(遍历):
根据以上知识点,就可以进行简单的链表的遍历了
例:
#include <stdio.h>
#include <stdlib.h>
struct note
{
int data;
struct note *next;
};
int main()
{
struct note *head,*p,*q,*t;//
int i,n,a;
scanf("%d",&n);//有多少个数
head=NULL;//头指针初始化为空
for (i = ; i < n; i++)//循环读取n个数
{
scanf("%d",&a);
p=(struct note *)malloc(sizeof(struct note));//动态申请一个节点的空间,存放节点
p->data=a;//将数据存入data中
p->next=NULL;//设置当前指针的后续指针指向空
if(head==NULL)
{
head=p;//如果这是第一个创建的节点,就让头指针指向这个
}
else
{
q->next=p;//如果不是第一个节点,就让前一个的后续指针指向当前节点
}
q=p;//在将q也指向当前节点
}
t=head;
while (t!=NULL)
{
printf("%d\t",*t);
t=t->next; //继续下一个节点
}
system("pause");
return 0;
}
五.后记:

 
         以上只是对链表进行了遍历,链表数据的添加删除,后续继续更新
 

指针与数据结构算法_链表(C语言)的更多相关文章

  1. 数据结构&算法-单链表

    1.引言 工作一年了,感觉越来越懒散,把很多基础性的东西都慢慢遗忘了,最近想趁着还没忘完,回顾一下,整理了点笔记,分享一下. 如有错的地方,欢迎大家怒喷. 2.学习 我们就从最简单的链表开始吧. 链表 ...

  2. 数据结构算法之冒泡排序——Java语言实现

    今天来谈下冒泡排序算法,这次实现由两种形式如下所示: 1.对于长度为N的数据序列,没有加标签限制,针对一开始就是有序的数据序列,仍然需要排序N-1趟来完成排序. 2.对于长度为N的数据序列,加标了签限 ...

  3. 数据结构算法与应用c++语言描述 原书第二版 答案(更新中

    目录 第一章 C++回顾 函数与参数 1.交换两个整数的不正确代码. 异常 10.抛出并捕捉整型异常. 第一章 C++回顾 函数与参数 1.交换两个整数的不正确代码. //test_1 void sw ...

  4. 数据结构 - 动态单链表的实行(C语言)

    动态单链表的实现 1 单链表存储结构代码描述 若链表没有头结点,则头指针是指向第一个结点的指针. 若链表有头结点,则头指针是指向头结点的指针. 空链表的示意图: 带有头结点的单链表: 不带头结点的单链 ...

  5. Java数据结构和算法之链表

    三.链表 链结点 在链表中,每个数据项都被包含在‘点“中,一个点是某个类的对象,这个类可认叫做LINK.因为一个链表中有许多类似的链结点,所以有必要用一个不同于链表的类来表达链结点.每个LINK对象中 ...

  6. 数据结构算法集---C++语言实现

    //数据结构算法集---C++语言实现 //各种类都使用模版设计,可以对各种数据类型操作(整形,字符,浮点) /////////////////////////// // // // 堆栈数据结构 s ...

  7. js数据结构与算法--单链表的实现与应用思考

    链表是动态的数据结构,它的每个元素由一个存储元素本身的节点和一个指向下一个元素的引用(也称指针或链接)组成. 现实中,有一些链表的例子. 第一个就是寻宝的游戏.你有一条线索,这条线索是指向寻找下一条线 ...

  8. 用Python实现的数据结构与算法:链表

    一.概述 链表(linked list)是一组数据项的集合,其中每个数据项都是一个节点的一部分,每个节点还包含指向下一个节点的链接(参考 <算法:C语言实现>). 根据结构的不同,链表可以 ...

  9. 【数据结构与算法】多种语言(VB、C、C#、JavaScript)系列数据结构算法经典案例教程合集目录

    目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 2. 专栏地址 「 刘一哥与GIS的故事 」之<数据结构与算法> 3. 专栏目录 [经典回放]多种语言系列数据结构算法 ...

随机推荐

  1. 10.TCP连接的建立与终止

      1.建立连接协议 (1)请求端发送一个SYN段指明客户打算连接的服务器的端口,移机初始序号ISN.这个SYN段为报文段1. (2)服务器发回包含服务器的初始序号的SYN报文段作为应答.同时,将确认 ...

  2. 环信 之 iOS 客户端集成三:基础功能

    SDK中,大部分与网络有关的操作,都有三种方法: 同步方法 通过delegate回调的异步方法.要想能收到回调,必须要注册为:[[EaseMob sharedInstance].chatManager ...

  3. 职业定位(移动端、ios开发、Android开发)

    移动端 移动端webapp开发必备知识:http://www.chinaz.com/manage/2012/1128/283974.shtml 设计一款好的移动App,有哪些基本规则?http://w ...

  4. OC类方法的调用

    有个Person类,有个Phone类,Person类想使用Phone类中打电话和发短信的方法 1.Phone.h         Phone有kind和color属性  ,方法定义的时候将用到的参数都 ...

  5. 定制jackson的自定义序列化(null值的处理)

    http://www.cnblogs.com/lic309/p/5048631.html

  6. CentOS7 部署 tomcat

    1. 准备tomcat账号 本着最小权限原则,新建账号来安装tomcat. 命令:useradd , passwd 2. 配置防火墙 2.1. tomcat.xml 在/etc/firewalld/s ...

  7. js判断ip地址,子网掩码,网关的逻辑性检查

    因为要做静态地址配置的js校验,找了好多资料发现网上都是关于ip,mask的有效性检查,没有ip,submask,gateway的逻辑性判断,自己写下代码供需要的人参考. 普及下网关地址知识: 就是进 ...

  8. XHTML 是以 XML 格式编写的 HTML

    什么是 XHTML? XHTML 指的是可扩展超文本标记语言 XHTML 与 HTML 4.01 几乎是相同的 XHTML 是更严格更纯净的 HTML 版本 XHTML 是以 XML 应用的方式定义的 ...

  9. ASP.NET - 自定义控件处理页面事件(控件与页面数据交互)的方法

    //用委托的方法实现 //控件代码 public delegate void DelegateFunction( string sPageTitle ); private DelegateFuncti ...

  10. TCP/IP协议族(一) HTTP简介、请求方法与响应状态码

    接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单 ...