找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2581|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

C語言結(jié)構(gòu)體指針調(diào)用時報錯

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:298952 發(fā)表于 2021-6-25 09:56 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
50黑幣
#include "stc8.h"
struct
{
char uart_busy_flag;//忙標(biāo)志
        char *uart_send_dat_addr; //發(fā)送數(shù)據(jù)地址
        int uart_send_Total;//發(fā)送數(shù)據(jù)總長度
        int uart_send_Complete_num;//發(fā)送數(shù)據(jù)完成長度
}uart1;//串口結(jié)構(gòu)體
char dat[10]={0,1,2,3,4,5,6,7,8,9};
char aa;

void uart1_send_dat(char *send_addr,int send_num)
{
        while(uart1.uart_busy_flag);
        uart1.uart_busy_flag=1;
        uart1.uart_send_dat_addr=send_addr;
        uart1.uart_send_Total=send_num;
        uart1.uart_send_Complete_num=0;
        aa=uart1.*uart_send_dat_addr;//發(fā)送數(shù)據(jù)        
}
/*
main.c(18): error C141: syntax error near '*', expected '<id>'
main.c(18): error C202: 'uart_send_dat_addr': undefined identifier
*/

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:298952 發(fā)表于 2021-6-25 09:59 | 只看該作者
我的目的是將 uart1_send_dat()中的入口參數(shù)中地址的數(shù)據(jù)賦給aa,如果把指針從結(jié)構(gòu)體中拿出來就不報錯,加里面就報錯了
回復(fù)

使用道具 舉報

板凳
ID:161164 發(fā)表于 2021-6-25 10:52 | 只看該作者
應(yīng)該是這樣寫吧
aa=*uart1.uart_send_dat_addr;//發(fā)送數(shù)據(jù)
回復(fù)

使用道具 舉報

地板
ID:592807 發(fā)表于 2021-6-25 11:30 | 只看該作者
aa=uart1.*uart_send_dat_addr;//發(fā)送數(shù)據(jù)
   
aa是變量
uart_send_dat_addr是指針,不能放一塊哦
另外結(jié)構(gòu)體調(diào)用也沒有*號的,直接就是uart.usar_sen_dat_addr
回復(fù)

使用道具 舉報

5#
ID:188940 發(fā)表于 2021-6-25 12:57 | 只看該作者
main.c(18): 錯誤 C141: '*' 附近的語法錯誤,預(yù)期為 '<id>'
main.c(18): 錯誤 C202: 'uart_send_dat_addr': 未定義標(biāo)識符
這個是谷歌翻譯的
aa=uart1.*uart_send_dat_addr;//發(fā)送數(shù)據(jù)
首先aa你定義的是一個字符變量,而*uart_send_dat_addr是一個指針。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表