zoukankan      html  css  js  c++  java
  • 创建结点 与 分配内存 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:editorToolmain.c [Warning] assignment makes pointer from integer without a cast

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

  • 相关阅读:
    MySQL练习题
    MySql基础操作
    解决使用IDEA启动Tomcat成功但localhost:8080无法访问的问题
    1417. 重新格式化字符串--来源:力扣(LeetCode)
    字符消除
    Comsol中Absolute Pressure的解释
    气体流量与质量流率换算
    FileZilla MLSD错误:连接超时、读取目录列表失败
    Avalon总线的地址对齐与NIOS编程
    同步复位和异步复位--好文章就是要记录下来
  • 原文地址:https://www.cnblogs.com/rsapaper/p/10542989.html
Copyright © 2011-2022 走看看