关于数组和指针好玩的一些小程序~
最近看数组和指针突然有些发现,写出来看看(据说这是写不可维护代码的需要掌握的技能之一)~这个是数组版的~
程序代码:
#include<stdio.h> #include<stdlib.h> void test0( void ); void test1( void ); void test2( void ); void test3( void ); void test4( void ); void test5( void ); void test6( void ); void test7( void ); void test8( void ); int main( void ) { test0(); test1(); test2(); puts(""); test3(); test4(); test5(); puts(""); test6(); test7(); test8(); return 0; } void test0( void ) { char s[8]={"abcde"}; char* const p=s; printf("test0: "); *p=*"wxyz123"; puts(s); } void test1( void ) { char s[8]={"abcde"}; short* const p=( short* )s; printf("test1: "); *p=*(const short* const )"wxyz123"; puts(s); } void test2( void ) { char s[8]={"abcde"}; int* const p=( int* )s; printf("test2: "); *p=*(const int* const )"wxyz123"; puts(s); } void test3( void ) { char s[8]={"abcde"}; void* const p=s; printf("test3: "); *p=*(const char* const )"wxyz123"; puts(s); } void test4( void ) { char s[8]={"abcde"}; void* const p=s; printf("test4: "); *p=*(const short* const )"wxyz123"; puts(s); } void test5( void ) { char s[8]={"abcde"}; void* const p=s; printf("test5: "); *p=*(const int* const )"wxyz123"; puts(s); } #define TEST( NAME, TYPE ) \ void NAME () \ { \ char s[8]={"abcde"}; \ \ void* const p=s; \ \ printf( \ #NAME": " \ ); \ \ *p^=*( TYPE* )s; \ *p^=*(const TYPE* const )"wxyz123"; \ puts(s); \ } TEST(test6,char) TEST(test7,short) TEST(test8,int)
[此贴子已经被作者于2018-4-1 19:44编辑过]