takis_tz Δημοσ. 16 Μαΐου 2008 Δημοσ. 16 Μαΐου 2008 Έχω δυο απορίες: 1)Τι σημαίνει η πιο κάτω έκφραση: i > 5 && !(i > 17) με μπερδεύει το ! 2) Ποια η διαφορά των εκφράσεων: int(*calc)() int*(calc()) *int(calc()) int(*calc())
Dr.Fuzzy Δημοσ. 17 Μαΐου 2008 Δημοσ. 17 Μαΐου 2008 1. i > 5 AND NOT (i > 17) 2. int(*calc)() // pointer to function returning int int(*calc()) // function returning pointer to int
takis_tz Δημοσ. 17 Μαΐου 2008 Μέλος Δημοσ. 17 Μαΐου 2008 Το πρώτο το κατάλαβα και σε ευχαριστώ. Για το δεύτερο όμως μπορείς να γίνεις πιο αναλυτικός;
AfterForever Δημοσ. 17 Μαΐου 2008 Δημοσ. 17 Μαΐου 2008 int(*calc)() int*(calc()) *int(calc()) int(*calc()) το πρώτο είναι μια συνάρτηση που επιστρέφει int και δέχεται ως όρισμα ένα δείκτη. το δεύτερο είναι μια συνάρτηση που παίρνει όρισμα συνάρτηση και επιστρέφει δείκτη σε int. το τριτο είναι μια συνάρτηση που παίρνει ώς όρισμα μια άλλη συνάρτηση και επιστρέφει δείκτη σε int το τέταρτο είναι μια συνάρτηση που παίρνει ως όρισμα έναν δείκτη σε συνάρτηση και επιστρέφει int. το πρώτο και το τέταρτο είναι σίγουρα έτσι. Το δεύτερο και το τρίτο να μας πει και ένας άλλος φίλος δεν είμαι σίγουρος.
takis_tz Δημοσ. 19 Μαΐου 2008 Μέλος Δημοσ. 19 Μαΐου 2008 Μήπως μπορεί να βοηθήσει και να εξηγήσει σε τί διαφέρουν αυτές οι δυο εκφράσεις; int*(calc()) *int(calc())
AfterForever Δημοσ. 19 Μαΐου 2008 Δημοσ. 19 Μαΐου 2008 Μήπως μπορεί να βοηθήσει και να εξηγήσει σε τί διαφέρουν αυτές οι δυο εκφράσεις;int*(calc()) *int(calc()) Κ εγώ αυτή την απορία έχω, γι' αυτό κιόλας απάντησα με επιφύλαξη. Πάντως η δεύτερη βγάζει νόημα, η πρώτη όχι και τόσο...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.