数组名的再理解
先看下面的这段代码,程序会输出什么结果?
#include
int main()
{
int a[5] = {1, 2, 3, 4, 5};
int *p = (int *)(&a+1);
printf("%d %d\n", *(a+1), *(p-1));
return 0;
}
答案详见本文的最后。
先来一步步...
分类:
其他好文 时间:
2014-09-04 23:42:40
阅读次数:
191
队列头指针为front,队列尾指针为rear(指向队尾元素),after_rear为队尾元素的后一位置(按顺时针方向),队列容量为maxsize 如果用 front == rear 来表示队列为空,也就是说front和rear指向同一个位置,那么: 队列满时:(rear+1) mod maxsize...
分类:
其他好文 时间:
2014-09-04 22:07:50
阅读次数:
513
c语言的难点和精华部分就是指针,能够将指针完全理解并且将其运用熟练不是一件容易的事情,其中有几个知识点比较绕一些。1.数组指针与指针数组的区别。 数组指针是一个指针,是指向数组的指针,就如同int*,char*型指针,只不过它是指向数组的(首元素),大小为4(32位平台下),通过它就可以做找到整个数...
分类:
编程语言 时间:
2014-09-04 16:55:19
阅读次数:
212
第一阶段:设计结构体struct WORD{ char *key; //先测试单词长度,然后再malloc int ntrans; //记录单词解释个数 char **trans; //指针数组,每个指针都指向一个解释};malloc:11万个结构体数组 每个单词的内容 根据ntrans的个数-->...
分类:
其他好文 时间:
2014-09-03 23:58:11
阅读次数:
396
实现代码如下:#include #include #include typedef struct{ char * key; //单词的指针 int ntrans; //解释的个数 char ** trans; //解释的指针数组}WORD, * pW;//词典使用帮助信息void show_help...
分类:
其他好文 时间:
2014-09-03 23:56:37
阅读次数:
334
数组指针的含义:一个指针指向一个数组 ,这个指针+1就会加一个数组的长度。#include void show( char(*s)[10], int n){ while(n--) printf("%s\n",s++);}int main(){ char s[3][10] = {"hello","li...
分类:
其他好文 时间:
2014-09-02 21:20:05
阅读次数:
250
二级指针找出最大的字符:#include char maxchar(char * str, char** max){ char da = *str; //先让最大的执行第一个字符 *max = str; while (*str) { if (*str > da) { ...
分类:
其他好文 时间:
2014-09-02 21:17:25
阅读次数:
226
数组与指针 :数组在传递参数里,作用一样: array 都是一个指针,接收数组的首地址(int array[],int n )( int * array, int n )指针和数组可以等价转换array[i] ========= *(array+i)二维数组传参 :(int a[][], int R...
分类:
其他好文 时间:
2014-09-02 17:31:28
阅读次数:
300
二级指针找出最大的字符:char maxchar(char * str, char** max){ char da = *str; //先让最大的执行第一个字符 *max = str; while (*str) { if (*str > da) { da = *str; *max = str; } ...
分类:
其他好文 时间:
2014-09-02 17:29:15
阅读次数:
165
编译时:1.定义结构体时没加分号。2.指针取地址没加 &;Runtime Error:1.scanf 没加 &;2.前向星存无向边的时候数组开的太小;Wrong Answer:1. 1左移 30位以上 没强制转换成 long long;2. if ()里 用 &,^, | 没考虑优先级,比如 if ...
分类:
其他好文 时间:
2014-08-29 10:35:07
阅读次数:
139