Ik wil voor me zelf goed begrijpen wat pionters nu inhouden en werken.
Daarvoor heb ik onderstaand stukje code gemaakt. Een string array tekst, een char pionter, array char pionter. Het is de bedoeling dat er adres verwijzigen naar de start van de strings krijgt (dus een pionter verwijzig naar a, bb, en ccc. Natuurlijk wel de start van deze strings). Deze pionter moeten dan geplaats worden in de pionter array ptekst. Nu heb ik het volgens mij aardig goed, alleen geeft de compiler aan dat op regel 19 een Warning W8069 onportable pointer conversion.
Zouden jullie eens kunnen kijken of ik de verwijzingen allemaal goed heb en of het een beetje logies is wat ik heb gemaakt. En klopt het dat die Nonportable pointer conversion Warning alleen van toepassing is als ik mijn code run om een andere os een probleem op levert. Of is het gewoon een fout in de code.
Gebruik borland c++ compiler 5.
Daarvoor heb ik onderstaand stukje code gemaakt. Een string array tekst, een char pionter, array char pionter. Het is de bedoeling dat er adres verwijzigen naar de start van de strings krijgt (dus een pionter verwijzig naar a, bb, en ccc. Natuurlijk wel de start van deze strings). Deze pionter moeten dan geplaats worden in de pionter array ptekst. Nu heb ik het volgens mij aardig goed, alleen geeft de compiler aan dat op regel 19 een Warning W8069 onportable pointer conversion.
Zouden jullie eens kunnen kijken of ik de verwijzingen allemaal goed heb en of het een beetje logies is wat ik heb gemaakt. En klopt het dat die Nonportable pointer conversion Warning alleen van toepassing is als ik mijn code run om een andere os een probleem op levert. Of is het gewoon een fout in de code.
Gebruik borland c++ compiler 5.
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| #include<stdio.h> char tekst[ ] = {"a\0bb\0ccc\0"}; char *ptxt; char *ptekst[10]; int main(void){ int i; for(i = 0; i < 10; i++) { printf("tekst[%d] = %c \n", i, tekst[i]); } ptxt = &tekst[0]; for(i = 0; i < 10; i++) { //printf("tekst[%d] = %c \n", i, tekst[i]); printf("ptekst + %d = %c \n", i, *(ptxt + i)); ptekst[i] = *(ptxt + i); printf("ptekst + %d = %c \n", i, ptekst[i]); } return 0; } |