c语言 被重新声明为不同意义的符号 重定义

作者&投稿:运芸 (若有异议请与网页底部的电邮联系)
C语言中如何将“xxx"重新定义为不同类型的符号~

c语言没有提供在变量的同一作用范围内重新定义标识符为另一意义的功能。在不同作用范围内的标识符可同名同意或同名异意。

环境是linux+gcc,复制代码,简单格式化后直接编译:
test.c:3:11: 错误: ‘y0’被重新声明为不同意义的符号
test.c:3:14: 错误: ‘y1’被重新声明为不同意义的符号

可以判断y0和y1已经被定义了,猜测是math.h,也算是情理之中。
所以要改个名。
用文本工具替换y0为y01,替换y1为y02,
再编译:
undefined reference to `getch'

哦,linux下面只有getchar(),加上之后,编译通过。
程序执行:
the best result:
x(1)=-0.017970x(2)=-0.669840
y*=0.488302

typedef struct  _tag_LinkList
{...}
TLinkList;
  
  不就行了。


你这样做是错的。 typedef AB XX 这里的XX是一种数据类型名, 而struct{}XX 这里的XX是一种变量名,C规定不可以有不同意义而又相同名字的符号。 比如 你typedef int a 然后又 int a=5; 这样就是错的了。

不知道你为什么这样写。
应该如下写:

typedef struct _tag_LinkList
{
..........

}TLinkList;


南安市19290454954: C语言中如何将“xxx"重新定义为不同类型的符号 -
察力益脉: C语言没有这个特性,只能在内部语句块中,例如函数中覆盖外围空间里的名字

南安市19290454954: c语言程序改错,速求高手高奖励,代码如下,我觉得错误是字符串的值Z付给了数值变量Y,导致了错误 -
察力益脉: 浏览抄:知 OpenFileDialog Ofd = new OpenFileDialog(); if (Ofd.ShowDialog() == DialogResult.OK) { textBox1.Text = Ofd.FileName; }删除道:listbox.Items.RemoveAt(listOnline.SelectedIndex);

南安市19290454954: 用C++ 读取 excel 表格各科成绩和综合分数的成绩然后计算平均成绩并输出成绩报表 -
察力益脉: 这个是先执行外循环 a=1 for ( a=1 ; a<= 6 ; a++) ,然后执行内循环 b=1 for ( b=1 ; b<= 14-2*a ; b++) b<= 14-2*1(12)成立,b++ 输出 再执行b=2 b<= 14-2*2(10)成立 b++ 输出 ; 一直到执行完b=8 不成立后跳出循环.接着执行外循环a=2,然后是内循环for ( b=1 ; b<= 14-2*a ; b++) b=1 b<= 14-2*1(12)成立,b++ 输出 再执行b=2 b<= 14-2*2(10)成立 b++ 输出 ; 一直到执行完b=8 不成立后跳出循环.一次类推到a=6之后外循环也结束.

南安市19290454954: C语言的重定义错误,求解
察力益脉: 重复定义是指编译时同一个定义多次给出或者连接时出现多个外部符号(外部函数和全局变量在不同实现文件中重复定义). #ifndef...#pragma once这些指令是用于防止同一个头文件在同一个实现文件中多次包含,这只能解决第一种冲突. 你...

南安市19290454954: 在C语言中,“无论是有名结构还是无名结构,都可以在声明时,把它定义为另一类型"怎样理解 -
察力益脉: typedef struct //这个结构没有名字.{ int a; int b; }aa; 使用时 aa a; typedef struct test //这个结构体有名字 test { int a; int b; }bb; 使用时 bb b;

南安市19290454954: c语言编程中,同一个变量能否被重复定义成两种不同类型 -
察力益脉: 在同一块代码区域中,不允许有同名变量! 在不同的代码区,可以! 如: 定义一个全局变量: int a=10; 再定义一个局部变量: void func() {char *a="hello";} 这样是可以的.

南安市19290454954: c语言中signed 和unsigned是什么意思 -
察力益脉: 1、signed是默认的,表示这个变量是有符号的,可以存储整数和负数. 2、unsigned则需要显示给出表示这个变量,没有符号值能存储数的大小,而且不能表示正负. 3、signed存储符号是有代价的,代价就是存储空间中的一个比特位专门用...

南安市19290454954: c语言中,声明和定义有什么区别 -
察力益脉: 如果是指变量的声明和定义:从编译原理上来说,声明是仅仅告诉编译器,有个某类型的变量会被使用,但是编译器并不会为它分配任何内存.而定义就是分配了内存.对于下面的两句代码:void Func() { int a; int b=1; a=0; } 对于第一行代码,...

南安市19290454954: 在C语言中各个标点符号的作用 -
察力益脉: 好的 ;分号,在C语言中表示句号,是非循环体都要有的,每一个语句结束都要有 ,逗号,一般用于变量声明一次声明一堆还有函数的形参// 注释,不会被计算机编译的在这行内,换句话讲你//写的东西电脑都不会管<小于号不用我说了吧=等于...

南安市19290454954: C语言中的转义字符 \a(响铃)是什么意思? -
察力益脉: C语言中的转义字符\a(响铃)是在标准输出设备输出字符'\a'时,系统自带的扬声器(或蜂鸣器)会发出“叮”的一声. 转义字符不同于字符原有的意义,例如,在前面各例题printf函数的格式串中用到的“\n”就是一个转义字符,其意义是“回...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网