Ⅰ c#声明了变量但从未使用过是什么意思
就是你定义了一个变量,但是之后写的程序中就没有用到这个变量了。
Ⅱ 我自己写了一个函数定义在另一个.c文件中,已声明,但编译时报错未定义
在定义函数的.c文件中包含声明函数的.h文件。例如:
//f1.h
#include <stdio.h>
void func(int x);
//f1.cpp
#include "f1.h"
void func(int x)
{
//函数定义
}
//main.cpp
#include "f1.h"
void main()
{
int x = 2;
func(2);
}
Ⅲ C语言 函数已经声明 为什么提示未定义
声明和定义不是一回事!声明只是签名,定义才为函数提供真正的代码。
Ⅳ keil中已经定义了为什么编译还说未定义
有3个子程序声明语句不带括号( ); 肯定是错误的。
其实这三行没必要写的。就是有括号( )是对的,也不用写这三行的,都删掉。如果子程序写在主程序的后面了,主程序还要调用时,才需要先声明。而这三个子程序都在主程序前面的,就不用声明了。
Ⅳ C语言extern申明了全局变量,编译仍旧出错,提示未定义
把关键字 static 去掉,
staticunsignedshortmynumber=0;
如果加了static 变量 mynumber 只在A.c 文件中访问,其他文件中是访问不了的。
static 有两个作用,一是用在函数里表示变量是一个静态变量。二是作用域,限制变量只能在本文件中使用。
可以如下定义:
//A.c
unsignedshortmynumber=0;
//B.c
externunsignedshortmynumber;
Ⅵ 我跟着教程编写的c程序,编译不能通过,总是提示未定义,为什么
和设置一般没什么关系,code::blocks也是调用标准的编译器进行编译的,提升你错了你最好仔细看看,另外,即使编译正确,运行也不一定能成功,因为编译器只能检查一部分错误,而且主要是语法错误。 关于你说的int这个问题,请放代码
Ⅶ 函数已声明 编译时显示未定义出错
你工程中有几个文件啊
其它的 *.c 什么的没加到工程里来吧
Ⅷ 明明定义参数了,为什么编译说没有定义
函数由两部分组成:声明部分和执行语句。声明部分的作用是对有关的标识符(如变量、函数、结构体、共用体等)的属性进行说明。对于函数,声明和定义的区别明显,函数的声明是函数的原型,而函数的定义是函数功能的确立。对函数的声明放在声明部分中,函数的定义不在函数的声明部分范围内,是一个文件中的独立模块。对变量而言,声明与定义的关系稍微复杂。声明部分出现的变量有两种情况:一种需要建立存储空间的(如inta;);一种不需要建立存储空间的(如externinta;)。前者称为定义性声明(definingdeclaration),简称为定义(definition)。后者称为引用性声明(referenceingdeclaration)。声明包括定义,并非所有的声明都是定义。对“inta;”而言,定义性声明,建立存储空间的声明称为定义,不需要建立存储空间的声明称为声明。指的声明是狭义的,即非定义性声明。例如:intmain(){externinta;//这是声明不是定义。声明a是一个已定义的外部变量}inta;//是定义,定义a为整型外部变量外部变量定义和外部变量声明的含义不同。外部变量的定义一次,位置在所有函数之外,而同一文件中的外部变量的声明可以有多次,位置可以在函数之内,也可在函数之外。系统根据外部变量的定义分配存储单元。对外部变量的初始化只能在定义时进行,而不能在声明中进行。所谓声明,作用是向编译系统发出一个信息,声明该变量是一个在后面定义的外部变量,提前引用该变量而作的声明。extern只用作声明,而不用于定义。static来声明一个变量的作用有二:对局部变量用static声明,变量在本函数调用结束后不释放,整个程序执行期间始终存在,使其存储期为程序的全过程。全局变量用static声明,变量的作用域只限于本文件模块(即被声明的文件中)。用auto,register,static声明变量时,定义变量的基础上加上关键字,不能单独使用。
Ⅸ linux编译c语言,一个被调用的函数只声明了,没有定义,不报错,是怎么回事
你声明了,只要不调用那个函数就不会报错,如果你程序中调用了那个只声明未定义的函数的话,你编译的时候就会报错