Tag: 索引

值得用mod替换if语句为圆形索引

我需要一个变量来指向数组索引,并且像圆圈一样,当它到达数组的末尾时返回0。 我知道我可以使用if语句判断,但我不确定是否会更快或者不使用mod来实现相同的function,有人能给我一些建议吗? int p=0; int arr[10]; void add_index(){ if(p==9) p=0; else p++; } 要么 int p=0; int arr[10]; void add_index(){ p=(p+1)%10; }

超出索引C / C ++

C / C ++中数组的典型声明是: 类型名称[elements]; 其中type是有效类型(例如int,float …),name是有效的标识符,elements字段(始终用方括号[]括起来),用数字表示数组的长度元素。 所以我声明一个int数组有2个元素 int a[2]; a[3] =4; 为什么这不会抛出exception?

在C中返回并打印字符串数组索引

我有一个搜索名称列表的函数,我试图让搜索函数将数组的索引返回到main函数并打印出找到的名称的起始位置。 到目前为止,我所尝试的一切都会导致程序崩溃或导致奇怪的输出。 这是我的搜索function: #include #include #include #define MAX_NAMELENGTH 10 #define MAX_NAMES 5 void initialize(char names[MAX_NAMES][MAX_NAMELENGTH], int Number_entrys, int i); int search(char names[MAX_NAMES][MAX_NAMELENGTH], int Number_entrys); int main() { char names[MAX_NAMES][MAX_NAMELENGTH]; int i, Number_entrys,search_result,x; printf(“How many names would you like to enter to the list?\n”); scanf(“%d”,&Number_entrys); initialize(names,Number_entrys,i); search_result= search(names,Number_entrys); if (search_result==-1){ printf(“Found no names.\n”); }else { printf(“%s”,search_result); […]

eclipse C项目显示错误(符号无法解析),但它编译

我可以在工作中访问一个C项目,我必须实现一些东西。我能够将它加载到eclipse中,并且可以将Project -> Build All it。 编译显示没有错误或警告。 但是在eclipse中,显示了很多错误。 一个例子: 有一个枚举 typedef enum MeasurementType { PN, BB, AM, RES } MEAS_TYPE; MEAS_TYPE type; 在其中一个文件中。 它在其他地方使用并产生如下错误: 最有趣的是,只有AM似乎是一个问题,而不是PN或BB 。 我还没有找到令人满意的解决方案。 我已经尝试在Project Properties -> C/C++ General -> Paths and Symbols包含我能想到的所有可能的目录Project Properties -> C/C++ General -> Paths and Symbols (如本文所示),但这没有帮助。 项目本身是用Makefile编译的(这就是我需要Project -> Build All )。 是不是eclipse没有正确地解释那些Makefile呢? 经过几个小时搞乱这些东西并且没有前进一步后,我有点迷失了。 编辑:这是我的构建相关项目属性的一些截图(至少我相信它们是相关的:D)。 如果您需要更多信息,请告诉我。

声明具有0个元素的数组仍然可以存储值

我知道使用负面索引只是纯粹的运气。 但出于好奇,我尝试了这个。 我知道你可以声明array [0]; 就像malloc(0); 是合法的。 但是为什么我可以在array [0]中存储一个值? #include #include int main(void) { int i; int array[0]; array[0] = 5; printf(“%d\n”,array[0]); getch(); }

文字字符串索引标准C?

我偶然发现包含以下内容的代码: char c = “abc”[1]; 它用gcc编译并运行良好! 在此表达式后c将为’b’ 。 这个标准是索引文字字符串还是它运气好吗?

C – 如何将数组中的指针转换为索引?

在C的许多搜索函数中(如果找到结果,脑海中浮现),将返回指向数组中点的指针。 如何将此指针转换为搜索的数组中的索引(使用指针算法,我假设)。

C负数组索引

这是我的结构: struct Node { struct Node* data; struct Node* links[4]; } 假设没有填充, Node->links[-1]保证指向Node::data ?

为什么我的数组索引比指针快

为什么数组索引比指针快? 指针不应该比数组索引快吗? **我使用time.h clock_t来测试两个函数,每个函数循环200万次。 Pointer time : 0.018995 Index time : 0.017864 void myPointer(int a[], int size) { int *p; for(p = a; p < &a[size]; p++) { *p = 0; } } void myIndex(int a[], int size) { int i; for(i = 0; i < size; i++) { a[i] = 0; } }

如何在C中找到字符串中字符的索引?

假设我有一个字符串”qwerty” ,我希望在其中找到e字符的索引位置。 (在这种情况下,索引将是2 ) 我怎么用C做? 我找到了strchr函数,但它返回一个指向字符而不是索引的指针。