![]() |
好像可以用 while(*addr_point_0++ = *addr_point_1++); |
lyonkon 發(fā)表于 2025-3-22 01:21 換成unsigned int a = 0;問題解決。 |
188610329 發(fā)表于 2025-3-15 13:25 請問, 下面代碼。變量a越界,將unsigned char a; 換成unsigned int a;硬件運行沒有達到想要的效果。因為無法軟件仿真,編譯器是arm gcc unsigned char c; unsigned char a; for(unsigned char i=0; i<16; i++){ for( unsigned char j=0; j<8; j++){ data_array[a] = font[c]; a ++; c ++; } a = a+220; } |
188610329 發(fā)表于 2025-3-15 13:25 謝謝! |
cyi8 發(fā)表于 2025-3-15 10:37 for(i=0;i<10;i++){ data_arry【i】= front 【i】; } 看這樣行不行,要是可以就不需要指針了 |
unsigned char data_array[10]; unsigned char *addr_point_0; unsigned char *addr_point_1; unsigned char const front[]= {0,1,2,3,4,5,6,7,8,9}; unsigned char code front[]= {0,1,2,3,4,5,6,7,8,9}; //不知道你什么編譯器 二者選一 void main() { unsigned char i; addr_point_0 = &data_array[0]; addr_point_1 = &front[0]; for(i = 0; i<10; i++) { *addr_point_0 = *addr_point_1; addr_point_0++; addr_point_1++; } while(1); } |
1,指針變量要與指向的變量類型相同,即char *p=&n;其中n必須是char n,不然執(zhí)行程序時會強制轉(zhuǎn)換為指針相同的類型,而且指針不能指向不同類型的變量。 2,我沒看明白你用char定義那個for循環(huán)的i 是什么意思??char是定義一個字符的,你能用來定義 i 然后跑循環(huán)? 3,for循環(huán)中為什么一個指針變量++,一個是指針變量的值++? |
Powered by 單片機教程網(wǎng)