当前位置:  技术问答>linux和unix

数据初始化疑问

    来源: 互联网  发布时间:2016-11-22

    本文导语:  大家好:        我实验一下“带简单输出参数的函数”。        函数的流程:main里面创建一个double类型值和一个int类型值,将它们的引用传递给separete函数,将结果保存在int类型值里面。separete函数的用途是...

大家好:
       我实验一下“带简单输出参数的函数”。
       函数的流程:main里面创建一个double类型值和一个int类型值,将它们的引用传递给separete函数,将结果保存在int类型值里面。separete函数的用途是将double的整数部分取出,赋值给int。
        separate形如:void separate(double num, int *wholep);
第一种方法:

         void separate(double num, int *wholep);

         int
         main(void)
         {
                  double num=222.2222;
                  int *wholep;                     //声明为int *
                  separate(num, wholep);
                  printf("The whole part is %dn", *wholep);
         }

         void separate(double num, int *wholep)
         {
                  *wholep = floor(num);
         }
         ==========================================
第二种:
         void separate(double num, int *wholep);

         int
         main(void)
         {
                  double num=222.2222;
                  int wholep;                            //声明为int类型
                  separate(num, &wholep);
                  printf("The whole part is %dn", wholep);
         }

         void separate(double num, int *wholep)
         {
                  *wholep = floor(num);
         }

疑问:
        一:为什么第二种方法能够按照要求输出结果,而第一种不能?
               难道是第一种情况下,没有分配int存储空间??
        二:程序编译时,参数的空间如何分配??
        
        我是linux c 初学者,望给以指点。

|
因为指针可以动态分配内存.有时候,我们不可能可以预计我们到底需要多少个变量,这个时候我们就需要动态的来

创建变量.就需要用到指针.

而变量是不可以的。

|
int *wholep; //声明为int *
第一种情况,你没有为指针分配空间,它是一个无效内存,当然程序失败了

可以分配空间就行了
在separate()之前加一句
wholep = (int *)malloc(sizeof(int));

    
 
 

您可能感兴趣的文章:

  • 初始化jtable时,我只想生成一个只有表头,即列名,还没有数据行的jtable。该如何实现?
  • 求源码,要求讲解共享内存入何初始化,装入数据,子进程中如何调用数据,最后怎样释放?
  • 内核数据初始化
  • 在虚拟机上安装linux,在手动分区时有个警告:说sda分区表无法读取,如果要创建,需初始化,此驱动上的所有数据会丢失
  • 求助关于静态数据初始化问题,很简单的,快进来看看。
  • Oracle数据库中系统初始化参数分析
  • 线程函数私有数据的疑问
  • datasources连接数据库疑问
  • 通过linux驱动接口读取串口来自另外一个CPU发送的数据,有几个疑问:
  • top系统监控数据疑问?
  • 对于linux内核中的一些数据类型命名的一些疑问。。求解
  • 使用JDBC连接数据库时Class.forName()语句的使用疑问
  • 关于PreparedStatement在事件处理中的疑问????(新手的Jdbc数据库编程)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.print类docflavor的类成员方法:服务格式化打印数据定义及介绍
  • 如何监控数据库的数据,如果数据库数据更改,就通知Server
  • <<大话数据结构>>中冒泡排序算法改进
  • 如何从数据库中或文本文件中提取数据到另一个数据库中?
  • java命名空间javax.print类docflavor的类成员方法:客户端格式化打印数据定义及介绍
  • 用JDBC连接Oracle数据库时,如何向数据库中写日期型数据(格式)?谢了!
  • 基于Key-Value的NOSQL数据库Redis的数据结构及常用相关命令介绍
  • linux下用libpcap库函数抓包,如何判断捕获的数据包是IP数据包还是非IP数据包,顺便说一下、捕获的数据包除了IP数据包之外,还有那些种类,非常感谢!!!
  • c#多线程更新窗口(winform)GUI的数据
  • 建立一个ftp数据连接并传送或接受完毕一些数据后,能否不关闭此数据连接,下次接着用?
  • 基于Hadoop的数据挖掘框架
  • 我从JSP页将数据插入到oracle数据库中,为何汉字插入后数据库中显示为乱码呢?
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 串口应用程序,当对方发送大量的数据时,本方的数据无法发出。对方停止发送,本方的数据仍然无法发出。不知道是什么原因。
  • Linux c++库boost unordered_set数据插入及查找代码举例
  • 公司要给客户做报表,从数据库返回数据,他们死活要返回的格式为Excel格式,请问我怎样才能把数据库返回的数据存为Excel的格式?
  • 文档数据库mongodb与列式数据库hbase详细比较
  • 数据在页面写不进数据库,也不可以从数据库中读出是什么原因?
  • SQL Server 2008如何进行数据库分离和附加详细介绍
  • mysql 本地数据库如何从远程数据库导数据
  • nosql数据库levedb介绍及levedb最新版1.18下载安装
  • 散分:Jbuilder6开发数据库应用请问你们都用什么数据库? 免费的数据库有那些?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3