Self Referential Data Structure in C - create a singly linked list http://www.how2lab.com/programming/c/link-list1.php

#include <stdio.h>
typedef struct st {
int data;
struct st* s;
} alias;
alias *createNode() {
alias *new;
new=(alias *)malloc(sizeof(alias));
return new;
}
int main() {
alias a,*b;
b=createNode();
a.data=123;
b->data=456;
a.s=b;
printf("%d,",a.data);
printf("%d,",a.s->data);
return 1;
}

  

注意:

typedef struct st {
int data;
struct st *s;
} alias;

typedef struct st {
int data;
struct st* s;
} alias;

alias* createNode() {
alias *new;
new=(alias *)malloc(sizeof(alias));
return new;
}

alias *createNode() {
alias *new;
new=(alias *)malloc(sizeof(alias));
return new;
}

#include <stdio.h>
typedef struct st {
int data;
struct st* s;
} alias;
alias *createNode() {
alias *new;
new=(alias *)malloc(sizeof(alias));
return new;
}
int main() {
alias a,*b;
b=createNode();
a.data=123;
b->data=456;
a.s=b;
printf("%d,",a.data);
printf("%d,",a.s->data);
alias *c;
c=createNode();
c->data=789;
(*b).s=c;
printf("%d,",a.s->s->data);
return 1;
}

  

#include <stdio.h>
int* createInt() {
int *new;
new=(int *)malloc(sizeof(int));
return new;
}
int main() {
int *a;
int *b;
a=createInt();
b=createInt();
*a=123;
*b=456;
printf("%d,",*a);
printf("%d,",*b);
return 1;
}

  

#include <stdio.h>
int* createInt() {
int *new;
new=(int *)malloc(sizeof(int));
return new;
}
int main() {
int *a;
int* b;
a=createInt();
b=createInt();
*a=12;
*b=34;
printf("%d,",*a);
printf("%d,",*b);
return 1;
}

  

对指针变量的赋值

以下未报错

#include <stdio.h>
int* createInt() {
int *new;
new=(int *)malloc(sizeof(int));
return new;
}
int main() {
int *a;
/*
int* b; a=createInt();
b=createInt();
*/
a=12;
/*
*b=34;
printf("%d,",*a);
printf("%d,",*b);
*/
printf("CAN!,");
return 1;
}

  

15 3 D:\editorTool\main.c [Warning] assignment makes pointer from integer without a cast

4 13 D:\editorTool\main.c [Warning] incompatible implicit declaration of built-in function 'malloc'

创建结点 与 分配内存 Function to create a Node. Allocates memory for a new node. 主动申请内存 链表 指针的写法的更多相关文章

  1. dedecms无法创建rss文件,提示DedeTag Engine Create File False

    最近有网友问dedecms无法创建rss文件提示:DedeTag Engine Create File False 这个提示一般出现以下情况才会出现:1.模板文件不存在,您可能误删除或者没有正确指定模 ...

  2. SQL Server ->> Memory Allocation Mechanism and Performance Analysis(内存分配机制与性能分析)之 -- Minimum server memory与Maximum server memory

    Minimum server memory与Maximum server memory是SQL Server下配置实例级别最大和最小可用内存(注意不等于物理内存)的服务器配置选项.它们是管理SQL S ...

  3. [原]Jenkins(十一)---jenkins使用管理员admin创建用户和分配权限

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/533 ...

  4. oracle 创建表空间 与创建用户与分配用户权限

    创建一个表空间名为ABC create tablespace "ABC"     //貌似要大写 datafile 'D:\oracle\TBSPACES\ABC.dbf'   / ...

  5. Linux下给mysql创建用户并分配权限

    // fe_group 用户名// fe 数据库名// 123456 密码 1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> ...

  6. linux内核申请内存函数

    kmap函数:    把某块高端内存映射到页表,然后返回给用户一个填好vitual字段的page结构    建立永久地址映射,不是简单的返回virtual字段的pageioremap:    驱动程序 ...

  7. 什么是内存泄漏?(What is a memory leak?)

    程序中的内存泄漏是怎么回事呢? 我们写过很多带有关键词free()的程序.比如我在这篇博文关于链表的一些重要操作(Important operations on a Linked List)中删除整个 ...

  8. Linux内存都去哪了:(1)分析memblock在启动过程中对内存的影响

    关键词:memblock.totalram_pages.meminfo.MemTotal.CMA等. 最近在做低成本方案,需要研究一整块RAM都用在哪里了? 最直观的的就是通过/proc/meminf ...

  9. 有关于malloc申请内存和free内存释放

    malloc工作机制: malloc函数的实质体现在,它有一个将可用的内存块连接为一个长长的列表的所谓空闲链表(堆内存).调用malloc函数时,它沿连接表寻找一个大到足以满足用户请求所需要的内存块. ...

随机推荐

  1. NodeJs相关系列文章

    1.图片上传之FileAPI与NodeJs 2.NodeJs之调试 3.CentOS下使用NVM 4.NodeJs之进程守护 5.Ubuntu下使用nvm 6.NodeJs之pm2 7.NodeJs之 ...

  2. 揭开Docker的神秘面纱

    Docker 相信在飞速发展的今天已经越来越火,它已成为如今各大企业都争相使用的技术.那么Docker 是什么呢?为什么这么多人开始使用Docker? 本节课我们将一起解开Docker的神秘面纱. 本 ...

  3. C++/C 宏定义(define)中# ## 的含义(转)

    http://hi.baidu.com/kiraversace/item/1148ee057147981a4ac4a3e9 C++/C 宏定义(define)中# ## 的含义 define 中的#  ...

  4. linux每日命令(3):ln命令

    ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在 ...

  5. Odoo 去掉 恼人的 "上午"和"下午"

  6. Git 移动操作

    顾名思义移动(move )操作移动目录或文件从一个位置到另一个.Tom 决定移动到src目录下的源代码.因此,修改后的目录结构看起来会像这样. [tom@CentOS project]$ pwd /h ...

  7. Java如何读取和下载网页?

    在Java编程中,如何读取和下载网页? 以下示例显示如何使用net.URL类的URL()构造函数来读取和下载网页. package com.yiibai; import java.io.Buffere ...

  8. PI SQL 语句

    insert [piarchive]..[picomp2](tag,time,value) values('ppnie_test','t',100) INSERT into pipoint..clas ...

  9. Scala学习笔记(三):==,eq与equals的区别

    == Scala中==与java中不同,它是比较值是否相等的,无论比较对象是否是相同类型 List(1, 2, 3) == List(1, 2, 3) //true 1==1.0//true equa ...

  10. .Net Framework4.5.2 源码命名空间简析

    Miscosoft目前除.Net Core开源外,对于.Net4.5.1 , 4.5.2等后续版本同样开源.资源中包含sln,csproj等以方便我们在vs中打开它们,不过我们不能编译它,因为它缺少r ...