"to declar an array of chars and an array of numbers using the same identifier" 是什么意思?
What does it mean "to declar an array of chars and an array of numbers using the same identifier"?
Hi there, i`m learning C. And there is a task where i have to declar an array of characters and an array of numbers using the same identifier. For an array of numbers determine the number of repetitions of each number. For an array of symbols to find the position and value of the character for a given character code. And I have to use a conditional compilation.
所以我必须做类似的事情(?):
#define SIZE 100
char symbols[SIZE];
int numbers[SIZE];
或者我必须做类似的事情(这可能是错误的,但我不太理解这个任务):
#define SIZE 100
char arr[SIZE];
int arr[SIZE];
标识符 是某物的名称。
所以你是正确的,所问的是这样的:
char arr1[10]; // array of chars identifier "arr1"
int arr1[10]; // array of ints identifier "arr1"
但是正如 Eugene 所提到的,您不能在 C 中执行此操作,因为您会收到错误消息,因为您可以让标识符仅标识一种类型的变量。其他语言不同。一些取代
有些对象会单独跟踪它们。
对于条件编译你需要#define
/#ifdef
/#endif
例如
#define ARR_IS_INT
#ifdef ARR_IS_INT
// give only int def to compiler
int arr1[10];
#else
// give only char def to compiler
char arr1[10];
#endif
像上面这样的条件编译语句是在特定情况下从编译器中隐藏代码的便捷方法。假设您有一些您仍然想支持的旧代码,但是您有一些新的东西不能与旧的一起工作。您可以将两者都保留在代码库中,并在它们之间保留 select 。
有多种方法可以将这些定义到预处理器。
本质上,您的代码由预处理器读取,所有 #define
s /#ifdef
s 都替换为编译器将读取的代码。这个预处理器通过你的代码是隐藏的,但你通常可以强制编译器使用编译器选项吐出它,这样你就可以破译发生了什么。
希望这对您有所帮助。
Hi there, i`m learning C. And there is a task where i have to declar an array of characters and an array of numbers using the same identifier. For an array of numbers determine the number of repetitions of each number. For an array of symbols to find the position and value of the character for a given character code. And I have to use a conditional compilation.
所以我必须做类似的事情(?):
#define SIZE 100
char symbols[SIZE];
int numbers[SIZE];
或者我必须做类似的事情(这可能是错误的,但我不太理解这个任务):
#define SIZE 100
char arr[SIZE];
int arr[SIZE];
标识符 是某物的名称。 所以你是正确的,所问的是这样的:
char arr1[10]; // array of chars identifier "arr1"
int arr1[10]; // array of ints identifier "arr1"
但是正如 Eugene 所提到的,您不能在 C 中执行此操作,因为您会收到错误消息,因为您可以让标识符仅标识一种类型的变量。其他语言不同。一些取代 有些对象会单独跟踪它们。
对于条件编译你需要#define
/#ifdef
/#endif
例如
#define ARR_IS_INT
#ifdef ARR_IS_INT
// give only int def to compiler
int arr1[10];
#else
// give only char def to compiler
char arr1[10];
#endif
像上面这样的条件编译语句是在特定情况下从编译器中隐藏代码的便捷方法。假设您有一些您仍然想支持的旧代码,但是您有一些新的东西不能与旧的一起工作。您可以将两者都保留在代码库中,并在它们之间保留 select 。
有多种方法可以将这些定义到预处理器。
本质上,您的代码由预处理器读取,所有 #define
s /#ifdef
s 都替换为编译器将读取的代码。这个预处理器通过你的代码是隐藏的,但你通常可以强制编译器使用编译器选项吐出它,这样你就可以破译发生了什么。
希望这对您有所帮助。