创建结点 与 分配内存 Function to create a Node. Allocates memory for a new node. 主动申请内存 链表 指针的写法
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. 主动申请内存 链表 指针的写法的更多相关文章
- dedecms无法创建rss文件,提示DedeTag Engine Create File False
最近有网友问dedecms无法创建rss文件提示:DedeTag Engine Create File False 这个提示一般出现以下情况才会出现:1.模板文件不存在,您可能误删除或者没有正确指定模 ...
- SQL Server ->> Memory Allocation Mechanism and Performance Analysis(内存分配机制与性能分析)之 -- Minimum server memory与Maximum server memory
Minimum server memory与Maximum server memory是SQL Server下配置实例级别最大和最小可用内存(注意不等于物理内存)的服务器配置选项.它们是管理SQL S ...
- [原]Jenkins(十一)---jenkins使用管理员admin创建用户和分配权限
/** * lihaibo * 文章内容都是根据自己工作情况实践得出. * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/533 ...
- oracle 创建表空间 与创建用户与分配用户权限
创建一个表空间名为ABC create tablespace "ABC" //貌似要大写 datafile 'D:\oracle\TBSPACES\ABC.dbf' / ...
- Linux下给mysql创建用户并分配权限
// fe_group 用户名// fe 数据库名// 123456 密码 1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> ...
- linux内核申请内存函数
kmap函数: 把某块高端内存映射到页表,然后返回给用户一个填好vitual字段的page结构 建立永久地址映射,不是简单的返回virtual字段的pageioremap: 驱动程序 ...
- 什么是内存泄漏?(What is a memory leak?)
程序中的内存泄漏是怎么回事呢? 我们写过很多带有关键词free()的程序.比如我在这篇博文关于链表的一些重要操作(Important operations on a Linked List)中删除整个 ...
- Linux内存都去哪了:(1)分析memblock在启动过程中对内存的影响
关键词:memblock.totalram_pages.meminfo.MemTotal.CMA等. 最近在做低成本方案,需要研究一整块RAM都用在哪里了? 最直观的的就是通过/proc/meminf ...
- 有关于malloc申请内存和free内存释放
malloc工作机制: malloc函数的实质体现在,它有一个将可用的内存块连接为一个长长的列表的所谓空闲链表(堆内存).调用malloc函数时,它沿连接表寻找一个大到足以满足用户请求所需要的内存块. ...
随机推荐
- 转: 如何使用jstack分析线程状态
这个讲的好系列: 如何使用jstack分析线程状态 转:http://www.jianshu.com/p/6690f7e92f27 背景 记得前段时间,同事说他们测试环境的服务器cpu使用率一直处于 ...
- Socket网络编程--小小网盘程序(3)
接上一小节,这次增加另外的两张表,用于记录用户是保存那些文件.增加传上来的文件的文件指纹,使用MD5表示. 两张表如下定义: create table files( fid int, filename ...
- Node入门教程(6)第五章:node 模块化(上)模块化演进
node 模块化 JS 诞生的时候,仅仅是为了实现网页表单的本地校验和简单的 dom 操作处理.所以并没有模块化的规范设计. 项目小的时候,我们可以通过命名空间.局部作用域.自执行函数等手段实现变量不 ...
- oracle11g重新安装oem
1.重新设置sys sysman DBSNMP密码 alter user dbsnmp identified by **: 2.select 'drop public synonym '|| syno ...
- 【emWin】例程十七:窗口对象——Button
介绍: 按钮小工具通常用作触摸屏的主要用户界面元素,本例程介绍按钮小工具的创建及使用方法. 触摸校准(上电可选择是否进入校准界面) 自绘按钮(通过回调函数来自行绘制各种形状的按钮) 设置按钮字体 设置 ...
- hdoj:2043
#include <iostream> #include <string> using namespace std; bool judgeSize(string str) { ...
- Java如何检查文件是否在服务器上被修改了?
在Java编程中,如何检查文件是否在服务器上被修改了? 以下示例显示如何检查文件是否在服务器上进行了修改. package com.yiibai; import java.net.URL; impor ...
- Java面向对象的基本概念(对象、封装、继承、多态、抽象、接口、泛型)
对象:是一个自包含的实体,用一组可识别的特征和行为来标识. 类:具有相同的属性和功能的对象的抽象合集.(类关键字class,首字母大写). 实例:就是一个真实的对象. 实例化:创建对象的过程,关键字是 ...
- Java并发之volatile二
使用volatilekeyword的场景 Volatile 变量具有 synchronized 的可见性特性.可是不具备原子特性.这就是说线程可以自己主动发现 volatile 变量的最新值.Vola ...
- oracle表空间不足扩容的方法
1.查询当前用户的所属表空间 select * from user_users; 2.增加表空间有两种方法: 以sysdba登陆进数据库 语法: alter tablespace 表空间名称 add ...