#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *next;
};
typedef struct Node *No;
typedef struct Node Elem;
void push1(struct Node** headRef, int data) {
struct Node
* newNode
= malloc(sizeof(struct Node
)); newNode->data = data;
newNode->next = *headRef;
*headRef = newNode;
}
No *push2(No *li, int data) {
Elem
*no
= malloc(sizeof(Elem
)); no->data = data;
no->next = (*li);
*li = no;
return li;
}
int main() {
int arr[] = {1, 2, 3};
int i = 0;
struct Node *head = NULL;
push1(&head, arr[i]);
No *result = push2(li, arr[i]);
printf("%d", (*result
)->data
); }
//https://pt.stackoverflow.com/q/449408/101
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnN0cnVjdCBOb2RlIHsKICAgIGludCBkYXRhOwogICAgc3RydWN0IE5vZGUgKm5leHQ7Cn07Cgp0eXBlZGVmIHN0cnVjdCBOb2RlICpObzsKdHlwZWRlZiBzdHJ1Y3QgTm9kZSBFbGVtOwoKdm9pZCBwdXNoMShzdHJ1Y3QgTm9kZSoqIGhlYWRSZWYsIGludCBkYXRhKSB7CiAgICBzdHJ1Y3QgTm9kZSogbmV3Tm9kZSA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IE5vZGUpKTsKICAgIG5ld05vZGUtPmRhdGEgPSBkYXRhOwogICAgbmV3Tm9kZS0+bmV4dCA9ICpoZWFkUmVmOwogICAgKmhlYWRSZWYgPSBuZXdOb2RlOwp9CgpObyAqcHVzaDIoTm8gKmxpLCBpbnQgZGF0YSkgewogICAgRWxlbSAqbm8gPSBtYWxsb2Moc2l6ZW9mKEVsZW0pKTsKICAgIG5vLT5kYXRhID0gZGF0YTsKICAgIG5vLT5uZXh0ID0gKCpsaSk7CiAgICAqbGkgPSBubzsKICAgIHJldHVybiBsaTsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgYXJyW10gPSB7MSwgMiwgM307CiAgICBpbnQgaSA9IDA7CiAgICBzdHJ1Y3QgTm9kZSAqaGVhZCA9IE5VTEw7CiAgICBwdXNoMSgmaGVhZCwgYXJyW2ldKTsKICAgIHByaW50ZigiJWQiLCBoZWFkLT5kYXRhKTsKICAgIE5vICpsaSA9IG1hbGxvYyhzaXplb2YoTm8pKTsKICAgIE5vICpyZXN1bHQgPSBwdXNoMihsaSwgYXJyW2ldKTsKICAgIHByaW50ZigiJWQiLCAoKmxpKS0+ZGF0YSk7CiAgICBwcmludGYoIiVkIiwgKCpyZXN1bHQpLT5kYXRhKTsKfQoKLy9odHRwczovL3B0LnN0YWNrb3ZlcmZsb3cuY29tL3EvNDQ5NDA4LzEwMQ==