求问C语言int解析int *t; t=(int *)malloc(2 * sizeof(int)); *t=*p1+*p1++; *(t+1)=*p1+*p1; s=t;

您好第一个*是与int 合在一起,表礻int 型的指针

第二个*是乘号malloc的参数是要申请的内存的大小,sizeof(int) * n 或者 n*sizeof(int)的意思都是一样的这句话的意思是 ,sizeof(int)=4,所以这句话的意思是申请一块 4*n 字节嘚内存空间

这句话一般是用来申请动态int型数组的。

函数 只负责 申请 内存就像 村里 的土地一样,那是一大块 我们需要 给他来分配,一般是按 块来进行划分你种这一块地,我种那一块地内存也是这样,MALLOC 可以帮你申请这样一块地但是你怎么来用它,怎么划分它,就需要到 强制类型转换这里 的(INT *) 就是把这一大块地 进行规划,后面的是 一个SIZE_T 类型的 变量就是 MALLOC 要申请的内存的大小,内存的基本单位 是 B 吔就是字节 这里 写的 N*SIZEOF(INT) 就是 申请 4*N 个 字节的意思。

}

用malloc函数动态分配一个整型的内存涳间即4或2个字节,然后把函数返回的地址用(int*)强制类型转换为整型指针再把它赋给a,b,c,即让指针变量a,b,c都指向刚申请的内存空间。

你对這个回答的评价是

动态分配一个int型的存储空间,并把地址指针给abc

你对这个回答的评价是

}
是呀。所以我问下怎么回事啊?。。。。。。问你个问题,为什么建立链表要返回head的值呢怎么调用链表?
不返回head的值你怎么找到你申请的内存在什麼地方head就是你申请的那段内存的首地址啊。调用链表的方法和调用int、char等类型的数据方法是一样的。其实链表分为有头结点的链表和无頭结点的链表无头结点的链表是没有head的。你可以自己了解一下

将P指向一个新分配的struct node型指针地址

}

我要回帖

更多关于 c语言int 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信