创建结点 与 分配内存 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函数时,它沿连接表寻找一个大到足以满足用户请求所需要的内存块. ...
随机推荐
- iOS中如何创建一个滑出式导航面板(1)
本文将介绍如何创建类似Facebook和Path iOS程序中的滑出式导航面板. 向右滑动 滑出式设计模式可以让开发者在程序中添加常用的导航功能,又不会浪费屏幕上宝贵的空间.用户可以在任意时间滑出导航 ...
- 扩展layui中的自带字体图标
项目中,虽然layui的字体图标库中已经有了1000多个图标了,但是也有时候不能满足我们自定义图标的需求,所以需要进行自定义,具体步骤如下: 1.在iconfont上找到自己喜欢的图标,也可以上传ui ...
- packetfence 7.2网络准入部署(二)
今天呢先说下packetfence部署的环境: 关于使用方法之前的帖子有介绍,一定要看哦 https://blog.csdn.net/qq_18204953/article/details/80708 ...
- Android Launcher分析和修改4——初始化加载数据
上面一篇文章说了Launcher是如何被启动的,Launcher启动的过程主要是加载界面数据然后显示出来, 界面数据都是系统APP有关的数据,都是从Launcher的数据库读取,下面我们详细分析Lau ...
- VS2012+openCV 2.4.8进行编译:VS2012 64位 使用OPENCV应用程序不能正常启动 (0xc000007b)怎么处理?
[OpenCV入门教程之一] 安装OpenCV:OpenCV 2.4.8 +VS 开发环境配置 http://blog.csdn.net/poem_qianmo/article/details/198 ...
- Java如何将每个单词的第一个字符转为大写?
在Java编程中,如何将每个单词的第一个字符转为大写? 以下示例演示如何使用toUpperCase(),appendTail()方法将字符串中每个单词的第一个字母转换为大写字母. package co ...
- R语言三元相图的做法
通常情况下,对于三维数据,我们会用三维图表来展示,想要从三维图表上观察出一定的规律,需要一定的空间想象力: 而三元相图,其实就是用二维平面的1个等边三角形来表征三维数据,三角形的每一条边对应1个维度, ...
- laravel中artisan的用法
如:
- spring quartz1.8.6集群结算服务定时任务与appserver独立分开
1.quartz集群如何处理同一个数据库,同一套sqtz表的lock问题,否则会导致打架. 思路如下: 1.com.xxx.quartz.BeanInvokingJobDetailFactoryBea ...
- Linux权限详解 命令之 chmod:修改权限
权限简介 Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功. Linux下文件的权限类型一般包括读,写,执行.对应字母为 r.w.x. Li ...