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'

  • 相关阅读:
    git使用教程2-更新github上代码
    git使用教程-本地代码上传到github
    【Mac系统 + Git】之上传项目代码到github上以及删除某个文件夹
    【Mac + Appium + Python3.6学习(五)】之常用的Android自动化测试API总结
    【Mac + Python + Selenium】之PyCharm配置Selenium自动化
    appium自动化常用API
    【Mac + Appium + Python3.6学习(四)】之常用的IOS自动化测试API总结
    ubuntu指令大全
    Win10上安装双系统(win10+ubuntu)
    C语言共用体的作用
  • 原文地址:https://www.cnblogs.com/rsapaper/p/10542989.html
Copyright © 2011-2022 走看看