【第22期】观点:IT 行业加班,到底有没有价值?

C语言错误日志——指针返回值与数组

原创 2015年11月19日 18:00:26

#include<stdio.h>
#include<stdlib.h>

void PrintIntArray(int * arr ,int length){
	int i = 0;
	for(i = 0; i<length; i++){
		printf("%d ",arr[i]);
	}
	printf("\n");
}
int *  getArrayFormat(){
 	int a[5] = {1,2,3,4,5};  //直接返回数组名是不行,必须 取其地址返回a
        return a;
}
int *  getMallocFormat(){
	int  i=0, * a ;
	a = (int *)malloc(sizeof(int) * 5);
	for(i = 0; i< 5;i++){
		a[i] = i;
	}
	return a;
}
int main(){
	int * p;
	int aa[5] ={0};
	p = getArrayFormat();       //混乱的数字
    PrintIntArray(p,5);
	p = getMallocFormat();      //正确的值
	PrintIntArray(p,5);
    //aa= getArrayFormat();   //error C2106: '=' : left operand must be l-value
    //PrintIntArray(aa,5);
	//aa = getMallocFormat(); //error C2106: '=' : left operand must be l-value
	//PrintIntArray(aa,5);	 
	return 0;
}


    数组和指针的不同之处:

   作为参数,可以替代使用;

但是作为返回值,必须是指针,

                              接收返回值的也必须是指针。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Linux下C语言编程

第1章 Linux下C语言编程简介本章将简要介绍一下什么是Linux,C语言的特点,程序开发的预备知识,Linux下C语言开发的环境,程序设计的特点和原则以及编码风格等。通过本章的学习,可以对在Lin...
  • Hou_Rj
  • Hou_Rj
  • 2009-05-19 18:06
  • 8948

C语言 API

MySQL的C语言API接口 1、首先当然是连接数据库,函数原型如下: MYSQL * STDCALL mysql_real_connect(MYSQL *mysql, const char *host,<br
  • xpp02
  • xpp02
  • 2012-12-05 13:58
  • 897

C语言的宏总结

1. 简单宏定义 简单的宏定义有如下格式:[#define指令(简单的宏)]  #define  标识符替换列表替换列表是一系列的C语言记号,包括标识符、关键字、数、字符常量、字符串字面量、运算符和标...

C++字符串完全指引之二 —— 字符串封装类

C++字符串完全指引之二——字符串封装类原著:MichaelDunn作者:ChengjieSun原文出处:CodePro

Android NDK开发(八)——应用监听自身卸载,弹出用户反馈调查

在上上篇博客中我写了一下NDK开发实践项目,使用开源的LAME库转码MP3,作为前面几篇基础博客的加深理解使用的,但是这样的项目用处不大,除了练练NDK功底。这篇博客,我将讲述一下一个各大应用中很常见...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)