Tag: 数组

哪个是使用字符串文字初始化字符数组的更好方法?

我是C语言的新手。 我试图理解C中的数组概念。我对数组初始化有困惑。 哪个是使用字符串文字初始化字符数组的更好方法? char arr[3] = “xyz”; 要么 char arr[] = “xyz”; 提前致谢。

如何在C中将数组拆分为两个数组

假设我在C中有一个数组 int array[6] = {1,2,3,4,5,6} 我怎么能把它分成两部分 {1,2,3} 和 {4,5,6} 使用memcpy可以实现吗? 谢谢, 不不不

在C ++中将1D数组作为2D数组访问

这困扰了我一段时间。 很多时候,我发现自己制作了一个大缓冲区来保存“最大”的数据量。 这有助于我避免每次下一个数据集的大小发生变化时动态分配和释放缓冲区。 例如,假设我的数组对于实际有用的大小来说太大了,但我知道有用数据的长度。 int amountOfData = 9; char data1D[100] = some data that is only 9 bytes long stored in a 100 byte array 假设我有一个算法,我想在这个使用2D数组索引的数据集上运行。 所以我希望能够按如下方式访问数据: cout << "I am accessing this data as a 2D array: " << data1D[0][1] << endl; 让我们说这个算法我知道2D数组的xlength和ylength将是: int xlength = 3; int ylength = 3; 对于此迭代,因为amountOfData = 9 […]

对stricmp的未定义引用

我正在尝试创建一个方法来查找并替换字符串中的字符串,但我似乎在编译时遇到了一些错误。 我能找到一些帮助来弄清楚发生了什么吗? void replaceString(char *find, char *replace) { int len_string,i; char temp[30]; len_string=strlen(find); while(1) { for(i=0;i<len_string;i++) temp[i]=fgetc(edit); temp[i+1]=NULL; /* the stricmp() is used for comparing both string. */ if(stricmp(find,temp)==0) { fprintf(edit,"%s ",replace); fclose(edit); exit(1); } fseek(edit,-(len_string-1),1); } } 我在编译时获得的错误是对stricmp的未定义引用。 我知道这不是正确的编码约定,但编辑(FILE类型的对象)当前是一个全局变量。

如何在C中记忆二维数组的一部分?

如何在C中记忆二维数组: 我有一个二维数组: int a[100][100]; int c[10][10]; 我想使用memcpy将数组c中的所有值复制到数组a,如何使用memcpy执行此操作? int i; for(i = 0; i<10; i++) { memcpy(&a[i][10], c, sizeof(c)); } 它是否正确?

是否使用索引括号取消引用它?

为指针使用索引括号是否也取消引用它? 为什么打印这个指针的第0个索引两次最终打印两个不同的东西? #include #include #include using namespace std; int *p; void fn() { int num[1]; num[0]=99; p = num; } int main() { fn(); cout << p[0] << " " << p[0]; }

C中的结构数组

我正在尝试创建一个结构数组,也是一个指向该数组的指针。 我不知道数组有多大,所以它应该是动态的。 我的结构看起来像这样: typedef struct _stats_t { int hours[24]; int numPostsInHour; int days[7]; int numPostsInDay; int weeks[20]; int numPostsInWeek; int totNumLinesInPosts; int numPostsAnalyzed; } stats_t; …我需要为每个文件(未知数量)提供多个这些结构,我将分析。 我不知道该怎么做。 由于数组大小的限制,我不喜欢以下方法: # define MAX 10 typedef struct _stats_t { int hours[24]; int numPostsInHour; int days[7]; int numPostsInDay; int weeks[20]; int numPostsInWeek; int totNumLinesInPosts; int numPostsAnalyzed; } stats_t[MAX]; 那我该怎么创建这个数组呢? […]

计算字符在C中的字符串中出现的次数

我是C的新手,我正在努力实现自己的explode 。 我正在尝试计算字符串中出现指定字符的次数。 int count_chars(char * string, char * chr) { int count = 0; int i; for (i = 0; i < sizeof(string); i++) { if (string[i] == chr) { count++; } } return count; } 它每次只返回0。 有人可以解释原因吗? 🙂

数组参数中的数组长度

我正在阅读C编程: KNKing 的现代方法学习C编程语言,本章讲述函数和数组参数。 解释了可以使用这些结构来表示数组参数的长度: 1。 void myfunc(int a, int b, int[a], int[b], int[*]); /* prototype */ void myfunc(int a, int b, int n[a], int m[b], int c[a+b+other_func()]) { … /* body */ } 2。 void myfunc(int[static 5]); /* prototype */ void myfunc(int a[static 5]) { … /* body */ } 所以问题是: 一个。 示例1中的构造是纯粹的装饰还是它们对编译器有影响? 湾 在这种情况下, […]

为什么在运行期间c中接受?

为什么我们可以在c中这样做? int n; scanf(“%d”,&n); int a[n]; 我认为数组在加载时间内位于内存中,但似乎上述示例在运行时期间有效。 我是否误解了任何事情? 你们能帮忙吗? 谢谢,