• 创建结点 与 分配内存 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'

  • 相关阅读:
    加密CMD使电脑溢出也拿不到CMD权限
    全面提升Linux服务器的安全
    ping 源码,详细解释
    伤心一百回
    聊聊我对黑客技术的思考
    一个网管员的真实成长经历
    通过命令限制上网用户的权限
    防范黑客的简单办法
    “黑客”人生
    黑客现身讲话
  • 原文地址:https://www.cnblogs.com/rsapaper/p/10542989.html
Copyright © 2020-2023  润新知