zhliao2

风雨兼程,一路向北-------fpga (Keep a quiet heart study)

2012年7月15日

a[ i ][ j ]中的不同表达有不同意义的地址概念( a + 1, a[ 1 ]等 )

摘要: 有二维数组a[ i ][ j ],一下都满足二维数组的条件a 二维数组名,指向一维数组a[ 0 ],即0行的首地址a[ 0 ], *( a + 0 ), *a 0行0列元素的地址 a + 1, &a[ 1 ] 1行首地址a[ 1 ], *( a + 1 ) 1行0列元素a[ 1 ][ 0 ]的地址a[ 1 ] + 2, *( a + 1 ) + 2, &a[ 1 ][ 2 ] 1行两列元素a[ 1 ][ 2 ]的地址*( a[ 1 ] + 2 ... 阅读全文

posted @ 2012-07-15 14:27 zhliao 阅读(423) 评论(0) 推荐(0)
指向多维数组的指针变量(int *p 和 int ( *p )[ N ])

摘要: int a[ 4 ];a有四个元素,每个元素为整型int ( *p )[ 4 ]; //4为二维是在的后面的一个数*p有4个元素,每个元素为整型,也就是说p所指的的对象有4个整型元素的数组即p是一维数组的指针( p只是指向一个包含有4个元素的一维数组,p的值就是该一维数组的起始地址 )程序数组为int a[3][4] = { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23 };经常搞混淆int *p和int ( *p )[ 4 ]可参考以下程序# include <stdio.h>int main ( void ){ int a[3][4] = 阅读全文

posted @ 2012-07-15 14:14 zhliao 阅读(597) 评论(0) 推荐(0)
字符串与指针

摘要: //以两种方法将字符串a复制到位字符串b//一:下标方法,字符串是以'\0'结束的,所以最后别忘了把'\0'加回去# include <stdio.h>int main ( void ){ char a[] = "I am boy.", b[ 20 ], *p1, *p2; int i; p1 = a; p2 = b; for ( ; *p1 != '\0'; p1 ++, p2 ++ ) *p2 = *p1; *p2 = '\0'; printf ( "string a is:%s\n& 阅读全文

posted @ 2012-07-15 14:14 zhliao 阅读(262) 评论(0) 推荐(0)
返回指针值的函数

摘要: int *a ( int x, int y );a是函数名,调用它以后能得到一个指向整型数据的指针.*a两侧没有括号,在a的两侧分别为*运算符和()运算符而()的优先级高于*.因此a先与()先结合,这个函数前面有*,表示此函数是指针型函数,最前面的int表示返回的指针指向整型变量.eg:有三个学生,每个学生有4门课,功能:用户输入学生序号,就能输出该学生的成绩# include <stdio.h>int main ( void ){ float score [][4] = { { 60, 70, 80, 90 }, { 56, 89, 67, 88 }, { 34, 78, 90, 阅读全文

posted @ 2012-07-15 11:57 zhliao 阅读(268) 评论(0) 推荐(0)
指针的小结

摘要: int i; 定义整形的变量i.int *p; p为指向整形数据的指针指针变量int a[ n ]; 定义整形数组a,它有n个元素int *p[ n ]; 定义指针数组p,它由n个指向整形数据的指针元素组成int ( *P )[ n ]; p为指向含有n个元素的一维数组的指针变量int f (); f为返回整形函数值的函数int *p(); p为返回一个指针的函数,该指针指向整形数据int ( *p )(); p为指向函数的指针,该函数返回一... 阅读全文

posted @ 2012-07-15 11:34 zhliao 阅读(171) 评论(0) 推荐(0)
指向函数的指针

摘要: 看看注释部分,总是被这有无括号搞晕,所以现在只有强记了先,`(*∩_∩*)′c = ( *p )( a, b );等价于c = max ( a, b );# include <stdio.h>int main ( void ){ int max ( int, int ); int ( *p )( int, int ); int a, b, c; p = max; //这里的函数名代表的是该函数的入口地址 scanf ( "%d, %d", &a, &b ); c = ( *p )( a, b ); //注意了,这里*p两侧的括号不可以省略,表示. 阅读全文

posted @ 2012-07-15 11:13 zhliao 阅读(192) 评论(0) 推荐(0)